"use strict";
var viewNum = $(".preview-container .thumbnail-box .list").outerWidth() / ($(".preview-container .thumbnail-box .list ul .item").outerWidth() + 2 * parseInt($(".preview-container .thumbnail-box .list ul .item").css("margin-right")))
  , moveNum = 1
  , moveTime = 100
  , thumbnailBoxItem = $(".thumbnail-box .wrapper .item")
  , thumbnailBox = $(".thumbnail-box")
  , thumbnailBoxWrapper = $(".thumbnail-box .wrapper")
  , thumbnailBoxNextBtn = $(".thumbnail-box a.btn.btn-next")
  , thumbnailBoxPrevBtn = $(".thumbnail-box a.btn.btn-prev")
  , bigBox = $(".preview-container .big-box")
  , bigBoxImg = bigBox.find("img")
  , smallBox = $(".preview-container .small-box")
  , smallBoxMask = $(".preview-container .small-box .hover")
  , picNum = thumbnailBoxItem.length
  , tempLength = 0
  , moveLength = thumbnailBoxItem.eq(0).outerWidth(!0) * moveNum
  , countLength = (picNum - viewNum) * moveLength;
bigBoxImg.attr("src", smallBox.find("img").attr("src")),
0 == picNum && (bigBox.remove(),
thumbnailBox.remove(),
smallBoxMask.remove()),
countLength < 5 ? ($(".thumbnail-box a.btn.btn-prev").addClass("btn-prev_disabled"),
$(".thumbnail-box a.btn.btn-next").addClass("btn_next_disabled")) : $(".thumbnail-box a.btn.btn-next").removeClass("btn_next_disabled"),
thumbnailBoxNextBtn.on("click", function() {
    tempLength < countLength && ($(".item-cur").next().trigger("mouseenter"),
    moveLength < countLength - tempLength ? (thumbnailBoxWrapper.animate({
        marginLeft: "-=" + moveLength + "px"
    }, moveTime),
    (tempLength += moveLength)) : (thumbnailBoxWrapper.animate({
        marginLeft: "-=" + (countLength - tempLength) + "px"
    }, moveTime),
    (tempLength += countLength - tempLength))),
    viewNum < countLength && $(".btn-prev").removeClass("btn_prev_disabled"),
    tempLength == countLength && $(".btn-next").addClass("btn_next_disabled")
}),
thumbnailBoxPrevBtn.on("click", function() {
    0 < tempLength && ($(".item-cur").prev().trigger("mouseenter"),
    moveLength < tempLength ? (thumbnailBoxWrapper.animate({
        marginLeft: "+=" + moveLength + "px"
    }, moveTime),
    (tempLength -= moveLength)) : (thumbnailBoxWrapper.animate({
        marginLeft: "+=" + tempLength + "px"
    }, moveTime),
    (tempLength = 0))),
    tempLength < countLength && $(".btn-next").removeClass("btn_next_disabled"),
    0 == tempLength && $(".btn-prev").addClass("btn_prev_disabled")
}),
thumbnailBoxItem.on("click", function() {
    thumbnailBoxItem.removeClass("item-cur");
    var e = $(this);
    e.addClass("item-cur"),
    smallBox.find("img").attr("src", e.find("img").attr("src")),
    bigBox.find("img").attr("src", e.find("img").attr("src"))
}),
smallBox.on("mouseenter", function() {
    bigBox.fadeIn(200),
    smallBoxMask.fadeIn(200),
    $(this).on("mousemove", function(e) {
        var t = {
            left: e.clientX - $(this).offset().left - smallBoxMask.width() / 2,
            top: e.clientY - $(this).offset().top - smallBoxMask.height() / 2 + $(window).scrollTop()
        };
        t.left < 0 ? (t.left = 0) : t.left > $(this).width() - smallBoxMask.width() && (t.left = $(this).width() - smallBoxMask.width()),
        t.top < 0 ? (t.top = 0) : t.top > $(this).height() - smallBoxMask.height() && (t.top = $(this).height() - smallBoxMask.height()),
        smallBoxMask.css(t),
        (e = smallBoxMask.position().left / (smallBox.width() - smallBoxMask.width())),
        (t = smallBoxMask.position().top / (smallBox.height() - smallBoxMask.height())),
        (e *= bigBoxImg.width() - bigBox.width()),
        (t *= bigBoxImg.height() - bigBox.height()),
        bigBox.scrollLeft(e).scrollTop(t)
    })
}),
smallBox.on("mouseleave", function() {
    bigBox.fadeOut(200),
    smallBox.find(".hover").fadeOut(200)
}),
$(function() {
    thumbnailBoxItem.each(function(e) {
        0 === e && $(this).addClass("item-cur")
    })
}),
$(".pdetail-detail-txt-bar>li").click(function() {
    $(this).addClass("pdtbact").siblings().removeClass("pdtbact"),
    $(".pdetail-detail-txt-content>li").eq($(this).index()).addClass("pdtbact-cont").siblings().removeClass("pdtbact-cont")
}),
(function(e) {
    function t(s) {
        if (i[s])
            return i[s].exports;
        var n = (i[s] = {
            i: s,
            l: !1,
            exports: {}
        });
        return e[s].call(n.exports, n, n.exports, t),
        (n.l = !0),
        n.exports
    }
    var i = {};
    (t.m = e),
    (t.c = i),
    (t.d = function(e, i, s) {
        t.o(e, i) || Object.defineProperty(e, i, {
            enumerable: !0,
            get: s
        })
    }
    ),
    (t.r = function(e) {
        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
            value: "Module"
        }),
        Object.defineProperty(e, "__esModule", {
            value: !0
        })
    }
    ),
    (t.t = function(e, i) {
        if ((1 & i && (e = t(e)),
        8 & i))
            return e;
        if (4 & i && "object" == typeof e && e && e.__esModule)
            return e;
        var s = Object.create(null);
        if ((t.r(s),
        Object.defineProperty(s, "default", {
            enumerable: !0,
            value: e
        }),
        2 & i && "string" != typeof e))
            for (var n in e)
                t.d(s, n, function(t) {
                    return e[t]
                }
                .bind(null, n));
        return s
    }
    ),
    (t.n = function(e) {
        var i = e && e.__esModule ? function() {
            return e.default
        }
        : function() {
            return e
        }
        ;
        return t.d(i, "a", i),
        i
    }
    ),
    (t.o = function(e, t) {
        return Object.prototype.hasOwnProperty.call(e, t)
    }
    ),
    (t.p = ""),
    t((t.s = 72))
}
)([function(e, t, i) {
    function s(e) {
        var t = e;
        Object.keys(t).forEach(function(e) {
            try {
                t[e] = null
            } catch (e) {}
            try {
                delete t[e]
            } catch (e) {}
        })
    }
    function n(e, t) {
        return void 0 === t && (t = 0),
        setTimeout(e, t)
    }
    function r() {
        return Date.now()
    }
    function a(e, t) {
        void 0 === t && (t = "x");
        var i, s, n, r = Object(h.b)(), a = r.getComputedStyle(e, null);
        return (r.WebKitCSSMatrix ? ((s = a.transform || a.webkitTransform).split(",").length > 6 && (s = s.split(", ").map(function(e) {
            return e.replace(",", ".")
        }).join(", ")),
        (n = new r.WebKitCSSMatrix("none" === s ? "" : s))) : (i = (n = a.MozTransform || a.OTransform || a.MsTransform || a.msTransform || a.transform || a.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,")).toString().split(",")),
        "x" === t && (s = r.WebKitCSSMatrix ? n.m41 : 16 === i.length ? parseFloat(i[12]) : parseFloat(i[4])),
        "y" === t && (s = r.WebKitCSSMatrix ? n.m42 : 16 === i.length ? parseFloat(i[13]) : parseFloat(i[5])),
        s || 0)
    }
    function o(e) {
        return ("object" == typeof e && null !== e && e.constructor && e.constructor === Object)
    }
    function l() {
        for (var e = Object(arguments.length <= 0 ? void 0 : arguments[0]), t = 1; t < arguments.length; t += 1) {
            var i = t < 0 || arguments.length <= t ? void 0 : arguments[t];
            if (null != i)
                for (var s = Object.keys(Object(i)), n = 0, r = s.length; n < r; n += 1) {
                    var a = s[n]
                      , d = Object.getOwnPropertyDescriptor(i, a);
                    void 0 !== d && d.enumerable && (o(e[a]) && o(i[a]) ? l(e[a], i[a]) : !o(e[a]) && o(i[a]) ? ((e[a] = {}),
                    l(e[a], i[a])) : (e[a] = i[a]))
                }
        }
        return e
    }
    function d(e, t) {
        Object.keys(t).forEach(function(i) {
            o(t[i]) && Object.keys(t[i]).forEach(function(s) {
                "function" == typeof t[i][s] && (t[i][s] = t[i][s].bind(e))
            }),
            (e[i] = t[i])
        })
    }
    i.d(t, "b", function() {
        return s
    }),
    i.d(t, "e", function() {
        return n
    }),
    i.d(t, "f", function() {
        return r
    }),
    i.d(t, "d", function() {
        return a
    }),
    i.d(t, "c", function() {
        return l
    }),
    i.d(t, "a", function() {
        return d
    });
    var h = i(1)
}
, function(e, t, i) {
    function s(e) {
        return (null !== e && "object" == typeof e && "constructor"in e && e.constructor === Object)
    }
    function n(e, t) {
        void 0 === e && (e = {}),
        void 0 === t && (t = {}),
        Object.keys(t).forEach(function(i) {
            void 0 === e[i] ? (e[i] = t[i]) : s(t[i]) && s(e[i]) && Object.keys(t[i]).length > 0 && n(e[i], t[i])
        })
    }
    function r() {
        var e = "undefined" != typeof document ? document : {};
        return n(e, o),
        e
    }
    function a() {
        var e = "undefined" != typeof window ? window : {};
        return n(e, l),
        e
    }
    i.d(t, "a", function() {
        return r
    }),
    i.d(t, "b", function() {
        return a
    });
    var o = {
        body: {},
        addEventListener: function() {},
        removeEventListener: function() {},
        activeElement: {
            blur: function() {},
            nodeName: ""
        },
        querySelector: function() {
            return null
        },
        querySelectorAll: function() {
            return []
        },
        getElementById: function() {
            return null
        },
        createEvent: function() {
            return {
                initEvent: function() {}
            }
        },
        createElement: function() {
            return {
                children: [],
                childNodes: [],
                style: {},
                setAttribute: function() {},
                getElementsByTagName: function() {
                    return []
                }
            }
        },
        createElementNS: function() {
            return {}
        },
        importNode: function() {
            return null
        },
        location: {
            hash: "",
            host: "",
            hostname: "",
            href: "",
            origin: "",
            pathname: "",
            protocol: "",
            search: ""
        }
    }
      , l = {
        document: o,
        navigator: {
            userAgent: ""
        },
        location: {
            hash: "",
            host: "",
            hostname: "",
            href: "",
            origin: "",
            pathname: "",
            protocol: "",
            search: ""
        },
        history: {
            replaceState: function() {},
            pushState: function() {},
            go: function() {},
            back: function() {}
        },
        CustomEvent: function() {
            return this
        },
        addEventListener: function() {},
        removeEventListener: function() {},
        getComputedStyle: function() {
            return {
                getPropertyValue: function() {
                    return ""
                }
            }
        },
        Image: function() {},
        Date: function() {},
        screen: {},
        setTimeout: function() {},
        clearTimeout: function() {},
        matchMedia: function() {
            return {}
        },
        requestAnimationFrame: function(e) {
            return "undefined" == typeof setTimeout ? (e(),
            null) : setTimeout(e, 0)
        },
        cancelAnimationFrame: function(e) {
            "undefined" != typeof setTimeout && clearTimeout(e)
        }
    }
}
, function(e, t, i) {
    function s(e) {
        return (s = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) {
            return e.__proto__ || Object.getPrototypeOf(e)
        }
        )(e)
    }
    function n(e, t) {
        return (n = Object.setPrototypeOf || function(e, t) {
            return (e.__proto__ = t),
            e
        }
        )(e, t)
    }
    function r() {
        if ("undefined" == typeof Reflect || !Reflect.construct)
            return !1;
        if (Reflect.construct.sham)
            return !1;
        if ("function" == typeof Proxy)
            return !0;
        try {
            return (Date.prototype.toString.call(Reflect.construct(Date, [], function() {})),
            !0)
        } catch (e) {
            return !1
        }
    }
    function a(e, t, i) {
        return (a = r() ? Reflect.construct : function(e, t, i) {
            var s = [null];
            s.push.apply(s, t);
            var r = new (Function.bind.apply(e, s))();
            return i && n(r, i.prototype),
            r
        }
        ).apply(null, arguments)
    }
    function o(e) {
        var t = "function" == typeof Map ? new Map() : void 0;
        return (o = function(e) {
            function i() {
                return a(e, arguments, s(this).constructor)
            }
            if (null === e || ((r = e),
            -1 === Function.toString.call(r).indexOf("[native code]")))
                return e;
            var r;
            if ("function" != typeof e)
                throw new TypeError("Super expression must either be null or a function");
            if (void 0 !== t) {
                if (t.has(e))
                    return t.get(e);
                t.set(e, i)
            }
            return ((i.prototype = Object.create(e.prototype, {
                constructor: {
                    value: i,
                    enumerable: !1,
                    writable: !0,
                    configurable: !0
                }
            })),
            n(i, e))
        }
        )(e)
    }
    function l(e) {
        void 0 === e && (e = []);
        var t = [];
        return (e.forEach(function(e) {
            Array.isArray(e) ? t.push.apply(t, l(e)) : t.push(e)
        }),
        t)
    }
    function d(e, t) {
        return Array.prototype.filter.call(e, t)
    }
    function h(e, t) {
        var i = Object(u.b)()
          , s = Object(u.a)()
          , n = [];
        if (!t && e instanceof p)
            return e;
        if (!e)
            return new p(n);
        if ("string" == typeof e) {
            var r = e.trim();
            if (r.indexOf("<") >= 0 && r.indexOf(">") >= 0) {
                var a = "div";
                0 === r.indexOf("<li") && (a = "ul"),
                0 === r.indexOf("<tr") && (a = "tbody"),
                (0 !== r.indexOf("<td") && 0 !== r.indexOf("<th")) || (a = "tr"),
                0 === r.indexOf("<tbody") && (a = "table"),
                0 === r.indexOf("<option") && (a = "select");
                var o = s.createElement(a);
                o.innerHTML = r;
                for (var l = 0; l < o.childNodes.length; l += 1)
                    n.push(o.childNodes[l])
            } else
                n = (function(e, t) {
                    if ("string" != typeof e)
                        return [e];
                    for (var i = [], s = t.querySelectorAll(e), n = 0; n < s.length; n += 1)
                        i.push(s[n]);
                    return i
                }
                )(e.trim(), t || s)
        } else if (e.nodeType || e === i || e === s)
            n.push(e);
        else if (Array.isArray(e)) {
            if (e instanceof p)
                return e;
            n = e
        }
        return new p((function(e) {
            for (var t = [], i = 0; i < e.length; i += 1)
                -1 === t.indexOf(e[i]) && t.push(e[i]);
            return t
        }
        )(n))
    }
    function c(e) {
        return function() {
            for (var t = arguments.length, i = new Array(t), s = 0; s < t; s++)
                i[s] = arguments[s];
            if (void 0 === i[0]) {
                for (var n = 0; n < this.length; n += 1)
                    f.indexOf(e) < 0 && (e in this[n] ? this[n][e]() : h(this[n]).trigger(e));
                return this
            }
            return this.on.apply(this, [e].concat(i))
        }
    }
    var u = i(1)
      , p = (function(e) {
        function t(t) {
            var i, s, n;
            return ((i = e.call.apply(e, [this].concat(t)) || this),
            (s = (function(e) {
                if (void 0 === e)
                    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                return e
            }
            )(i)),
            (n = s.__proto__),
            Object.defineProperty(s, "__proto__", {
                get: function() {
                    return n
                },
                set: function(e) {
                    n.__proto__ = e
                }
            }),
            i)
        }
        var i, s;
        return ((s = e),
        ((i = t).prototype = Object.create(s.prototype)),
        (i.prototype.constructor = i),
        (i.__proto__ = s),
        t)
    }
    )(o(Array));
    h.fn = p.prototype;
    var f = "resize scroll".split(" ");
    c("click"),
    c("blur"),
    c("focus"),
    c("focusin"),
    c("focusout"),
    c("keyup"),
    c("keydown"),
    c("keypress"),
    c("submit"),
    c("change"),
    c("mousedown"),
    c("mousemove"),
    c("mouseup"),
    c("mouseenter"),
    c("mouseleave"),
    c("mouseout"),
    c("mouseover"),
    c("touchstart"),
    c("touchend"),
    c("touchmove"),
    c("resize"),
    c("scroll");
    var v = {
        addClass: function() {
            for (var e = arguments.length, t = new Array(e), i = 0; i < e; i++)
                t[i] = arguments[i];
            var s = l(t.map(function(e) {
                return e.split(" ")
            }));
            return (this.forEach(function(e) {
                var t;
                (t = e.classList).add.apply(t, s)
            }),
            this)
        },
        removeClass: function() {
            for (var e = arguments.length, t = new Array(e), i = 0; i < e; i++)
                t[i] = arguments[i];
            var s = l(t.map(function(e) {
                return e.split(" ")
            }));
            return (this.forEach(function(e) {
                var t;
                (t = e.classList).remove.apply(t, s)
            }),
            this)
        },
        hasClass: function() {
            for (var e = arguments.length, t = new Array(e), i = 0; i < e; i++)
                t[i] = arguments[i];
            var s = l(t.map(function(e) {
                return e.split(" ")
            }));
            return (d(this, function(e) {
                return (s.filter(function(t) {
                    return e.classList.contains(t)
                }).length > 0)
            }).length > 0)
        },
        toggleClass: function() {
            for (var e = arguments.length, t = new Array(e), i = 0; i < e; i++)
                t[i] = arguments[i];
            var s = l(t.map(function(e) {
                return e.split(" ")
            }));
            this.forEach(function(e) {
                s.forEach(function(t) {
                    e.classList.toggle(t)
                })
            })
        },
        attr: function(e, t) {
            if (1 === arguments.length && "string" == typeof e)
                return this[0] ? this[0].getAttribute(e) : void 0;
            for (var i = 0; i < this.length; i += 1)
                if (2 === arguments.length)
                    this[i].setAttribute(e, t);
                else
                    for (var s in e)
                        (this[i][s] = e[s]),
                        this[i].setAttribute(s, e[s]);
            return this
        },
        removeAttr: function(e) {
            for (var t = 0; t < this.length; t += 1)
                this[t].removeAttribute(e);
            return this
        },
        transform: function(e) {
            for (var t = 0; t < this.length; t += 1)
                this[t].style.transform = e;
            return this
        },
        transition: function(e) {
            for (var t = 0; t < this.length; t += 1)
                this[t].style.transitionDuration = "string" != typeof e ? e + "ms" : e;
            return this
        },
        on: function() {
            function e(e) {
                var t = e.target;
                if (t) {
                    var i = e.target.dom7EventData || [];
                    if ((i.indexOf(e) < 0 && i.unshift(e),
                    h(t).is(a)))
                        o.apply(t, i);
                    else
                        for (var s = h(t).parents(), n = 0; n < s.length; n += 1)
                            h(s[n]).is(a) && o.apply(s[n], i)
                }
            }
            function t(e) {
                var t = (e && e.target && e.target.dom7EventData) || [];
                t.indexOf(e) < 0 && t.unshift(e),
                o.apply(this, t)
            }
            for (var i = arguments.length, s = new Array(i), n = 0; n < i; n++)
                s[n] = arguments[n];
            var r = s[0]
              , a = s[1]
              , o = s[2]
              , l = s[3];
            "function" == typeof s[1] && ((r = s[0]),
            (o = s[1]),
            (l = s[2]),
            (a = void 0)),
            l || (l = !1);
            for (var d, c = r.split(" "), u = 0; u < this.length; u += 1) {
                var p = this[u];
                if (a)
                    for (d = 0; d < c.length; d += 1) {
                        var f = c[d];
                        p.dom7LiveListeners || (p.dom7LiveListeners = {}),
                        p.dom7LiveListeners[f] || (p.dom7LiveListeners[f] = []),
                        p.dom7LiveListeners[f].push({
                            listener: o,
                            proxyListener: e
                        }),
                        p.addEventListener(f, e, l)
                    }
                else
                    for (d = 0; d < c.length; d += 1) {
                        var v = c[d];
                        p.dom7Listeners || (p.dom7Listeners = {}),
                        p.dom7Listeners[v] || (p.dom7Listeners[v] = []),
                        p.dom7Listeners[v].push({
                            listener: o,
                            proxyListener: t
                        }),
                        p.addEventListener(v, t, l)
                    }
            }
            return this
        },
        off: function() {
            for (var e = arguments.length, t = new Array(e), i = 0; i < e; i++)
                t[i] = arguments[i];
            var s = t[0]
              , n = t[1]
              , r = t[2]
              , a = t[3];
            "function" == typeof t[1] && ((s = t[0]),
            (r = t[1]),
            (a = t[2]),
            (n = void 0)),
            a || (a = !1);
            for (var o = s.split(" "), l = 0; l < o.length; l += 1)
                for (var d = o[l], h = 0; h < this.length; h += 1) {
                    var c = this[h]
                      , u = void 0;
                    if ((!n && c.dom7Listeners ? (u = c.dom7Listeners[d]) : n && c.dom7LiveListeners && (u = c.dom7LiveListeners[d]),
                    u && u.length))
                        for (var p = u.length - 1; p >= 0; p -= 1) {
                            var f = u[p];
                            (r && f.listener === r) || (r && f.listener && f.listener.dom7proxy && f.listener.dom7proxy === r) ? (c.removeEventListener(d, f.proxyListener, a),
                            u.splice(p, 1)) : r || (c.removeEventListener(d, f.proxyListener, a),
                            u.splice(p, 1))
                        }
                }
            return this
        },
        trigger: function() {
            for (var e = Object(u.b)(), t = arguments.length, i = new Array(t), s = 0; s < t; s++)
                i[s] = arguments[s];
            for (var n = i[0].split(" "), r = i[1], a = 0; a < n.length; a += 1)
                for (var o = n[a], l = 0; l < this.length; l += 1) {
                    var d = this[l];
                    if (e.CustomEvent) {
                        var h = new e.CustomEvent(o,{
                            detail: r,
                            bubbles: !0,
                            cancelable: !0
                        });
                        (d.dom7EventData = i.filter(function(e, t) {
                            return t > 0
                        })),
                        d.dispatchEvent(h),
                        (d.dom7EventData = []),
                        delete d.dom7EventData
                    }
                }
            return this
        },
        transitionEnd: function(e) {
            var t = this;
            return (e && t.on("transitionend", function i(s) {
                s.target === this && (e.call(this, s),
                t.off("transitionend", i))
            }),
            this)
        },
        outerWidth: function(e) {
            if (this.length > 0) {
                if (e) {
                    var t = this.styles();
                    return (this[0].offsetWidth + parseFloat(t.getPropertyValue("margin-right")) + parseFloat(t.getPropertyValue("margin-left")))
                }
                return this[0].offsetWidth
            }
            return null
        },
        outerHeight: function(e) {
            if (this.length > 0) {
                if (e) {
                    var t = this.styles();
                    return (this[0].offsetHeight + parseFloat(t.getPropertyValue("margin-top")) + parseFloat(t.getPropertyValue("margin-bottom")))
                }
                return this[0].offsetHeight
            }
            return null
        },
        styles: function() {
            var e = Object(u.b)();
            return this[0] ? e.getComputedStyle(this[0], null) : {}
        },
        offset: function() {
            if (this.length > 0) {
                var e = Object(u.b)()
                  , t = Object(u.a)()
                  , i = this[0]
                  , s = i.getBoundingClientRect()
                  , n = t.body
                  , r = i.clientTop || n.clientTop || 0
                  , a = i.clientLeft || n.clientLeft || 0
                  , o = i === e ? e.scrollY : i.scrollTop
                  , l = i === e ? e.scrollX : i.scrollLeft;
                return {
                    top: s.top + o - r,
                    left: s.left + l - a
                }
            }
            return null
        },
        css: function(e, t) {
            var i, s = Object(u.b)();
            if (1 === arguments.length) {
                if ("string" != typeof e) {
                    for (i = 0; i < this.length; i += 1)
                        for (var n in e)
                            this[i].style[n] = e[n];
                    return this
                }
                if (this[0])
                    return s.getComputedStyle(this[0], null).getPropertyValue(e)
            }
            if (2 === arguments.length && "string" == typeof e) {
                for (i = 0; i < this.length; i += 1)
                    this[i].style[e] = t;
                return this
            }
            return this
        },
        each: function(e) {
            return e ? (this.forEach(function(t, i) {
                e.apply(t, [t, i])
            }),
            this) : this
        },
        html: function(e) {
            if (void 0 === e)
                return this[0] ? this[0].innerHTML : null;
            for (var t = 0; t < this.length; t += 1)
                this[t].innerHTML = e;
            return this
        },
        text: function(e) {
            if (void 0 === e)
                return this[0] ? this[0].textContent.trim() : null;
            for (var t = 0; t < this.length; t += 1)
                this[t].textContent = e;
            return this
        },
        is: function(e) {
            var t, i, s = Object(u.b)(), n = Object(u.a)(), r = this[0];
            if (!r || void 0 === e)
                return !1;
            if ("string" == typeof e) {
                if (r.matches)
                    return r.matches(e);
                if (r.webkitMatchesSelector)
                    return r.webkitMatchesSelector(e);
                if (r.msMatchesSelector)
                    return r.msMatchesSelector(e);
                for (t = h(e),
                i = 0; i < t.length; i += 1)
                    if (t[i] === r)
                        return !0;
                return !1
            }
            if (e === n)
                return r === n;
            if (e === s)
                return r === s;
            if (e.nodeType || e instanceof p) {
                for (t = e.nodeType ? [e] : e,
                i = 0; i < t.length; i += 1)
                    if (t[i] === r)
                        return !0;
                return !1
            }
            return !1
        },
        index: function() {
            var e, t = this[0];
            if (t) {
                for (e = 0; null !== (t = t.previousSibling); )
                    1 === t.nodeType && (e += 1);
                return e
            }
        },
        eq: function(e) {
            if (void 0 === e)
                return this;
            var t = this.length;
            if (e > t - 1)
                return h([]);
            if (e < 0) {
                var i = t + e;
                return h(i < 0 ? [] : [this[i]])
            }
            return h([this[e]])
        },
        append: function() {
            for (var e, t = Object(u.a)(), i = 0; i < arguments.length; i += 1) {
                e = i < 0 || arguments.length <= i ? void 0 : arguments[i];
                for (var s = 0; s < this.length; s += 1)
                    if ("string" == typeof e) {
                        var n = t.createElement("div");
                        for (n.innerHTML = e; n.firstChild; )
                            this[s].appendChild(n.firstChild)
                    } else if (e instanceof p)
                        for (var r = 0; r < e.length; r += 1)
                            this[s].appendChild(e[r]);
                    else
                        this[s].appendChild(e)
            }
            return this
        },
        prepend: function(e) {
            var t, i, s = Object(u.a)();
            for (t = 0; t < this.length; t += 1)
                if ("string" == typeof e) {
                    var n = s.createElement("div");
                    for (n.innerHTML = e,
                    i = n.childNodes.length - 1; i >= 0; i -= 1)
                        this[t].insertBefore(n.childNodes[i], this[t].childNodes[0])
                } else if (e instanceof p)
                    for (i = 0; i < e.length; i += 1)
                        this[t].insertBefore(e[i], this[t].childNodes[0]);
                else
                    this[t].insertBefore(e, this[t].childNodes[0]);
            return this
        },
        next: function(e) {
            return this.length > 0 ? e ? this[0].nextElementSibling && h(this[0].nextElementSibling).is(e) ? h([this[0].nextElementSibling]) : h([]) : this[0].nextElementSibling ? h([this[0].nextElementSibling]) : h([]) : h([])
        },
        nextAll: function(e) {
            var t = []
              , i = this[0];
            if (!i)
                return h([]);
            for (; i.nextElementSibling; ) {
                var s = i.nextElementSibling;
                e ? h(s).is(e) && t.push(s) : t.push(s),
                (i = s)
            }
            return h(t)
        },
        prev: function(e) {
            if (this.length > 0) {
                var t = this[0];
                return e ? t.previousElementSibling && h(t.previousElementSibling).is(e) ? h([t.previousElementSibling]) : h([]) : t.previousElementSibling ? h([t.previousElementSibling]) : h([])
            }
            return h([])
        },
        prevAll: function(e) {
            var t = []
              , i = this[0];
            if (!i)
                return h([]);
            for (; i.previousElementSibling; ) {
                var s = i.previousElementSibling;
                e ? h(s).is(e) && t.push(s) : t.push(s),
                (i = s)
            }
            return h(t)
        },
        parent: function(e) {
            for (var t = [], i = 0; i < this.length; i += 1)
                null !== this[i].parentNode && (e ? h(this[i].parentNode).is(e) && t.push(this[i].parentNode) : t.push(this[i].parentNode));
            return h(t)
        },
        parents: function(e) {
            for (var t = [], i = 0; i < this.length; i += 1)
                for (var s = this[i].parentNode; s; )
                    e ? h(s).is(e) && t.push(s) : t.push(s),
                    (s = s.parentNode);
            return h(t)
        },
        closest: function(e) {
            var t = this;
            return void 0 === e ? h([]) : (t.is(e) || (t = t.parents(e).eq(0)),
            t)
        },
        find: function(e) {
            for (var t = [], i = 0; i < this.length; i += 1)
                for (var s = this[i].querySelectorAll(e), n = 0; n < s.length; n += 1)
                    t.push(s[n]);
            return h(t)
        },
        children: function(e) {
            for (var t = [], i = 0; i < this.length; i += 1)
                for (var s = this[i].children, n = 0; n < s.length; n += 1)
                    (e && !h(s[n]).is(e)) || t.push(s[n]);
            return h(t)
        },
        filter: function(e) {
            return h(d(this, e))
        },
        remove: function() {
            for (var e = 0; e < this.length; e += 1)
                this[e].parentNode && this[e].parentNode.removeChild(this[e]);
            return this
        }
    };
    Object.keys(v).forEach(function(e) {
        h.fn[e] = v[e]
    }),
    (t.a = h)
}
, function(e, t, i) {
    i.d(t, "a", function() {
        return o
    }),
    i.d(t, "d", function() {
        return l
    }),
    i.d(t, "c", function() {
        return d
    }),
    i.d(t, "b", function() {
        return h
    });
    var s = i(5)
      , n = i.n(s)
      , r = i(10)
      , a = i.n(r)
      , o = function() {
        return /Android|webOS|iPhone|iPod|ipad|BlackBerry/i.test(navigator.userAgent) ? 1 : 0
    }
      , l = function() {
        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null
          , t = function() {};
        e ? ($("body, html").css("overflow-y", "hidden"),
        document.addEventListener("touchmove", t, !1)) : ($("body, html").css("overflow-y", "auto"),
        document.removeEventListener("touchmove", t, !1))
    }
      , d = function e() {
        function t() {
            if (null === document.getElementById("preventTran")) {
                (s = document.createElement("div")).setAttribute("id", "preventTran"),
                (s.style.position = "fixed"),
                (s.style.left = "0"),
                (s.style.top = "0"),
                (s.style.width = "100%"),
                (s.style.height = "100%"),
                (s.style.overflow = "hidden"),
                (s.style.backgroundColor = "#2e2e2e"),
                (s.style.textAlign = "center"),
                (s.style.zIndex = "99999"),
                document.getElementsByTagName("body")[0].appendChild(s);
                var e = document.createElement("img");
                (e.src = ""),
                s.appendChild(e),
                (e.style.margin = "60px auto 30px");
                var t = document.createElement("br")
                  , i = document.createElement("p");
                (i.style.width = "100%"),
                (i.style.height = "auto"),
                (i.style.fontSize = "22px"),
                (i.style.color = "#626262"),
                (i.style.lineHeight = "34px"),
                (i.style.textAlign = "center"),
                (i.innerHTML = "for your better experience"),
                i.appendChild(t),
                (i.innerHTML += "Please operate the mobile phone / flat panel vertically"),
                s.appendChild(i)
            }
        }
        var i = window.orientation
          , s = null;
        (90 != i && -90 != i) || (null == s && null === document.getElementById("preventTran") && t(),
        (document.getElementById("preventTran").style.display = "block"),
        $("header").css("display", "none")),
        (window.onorientationchange = function() {
            null == s && null == document.getElementById("preventTran") && t(),
            (document.getElementById("preventTran").style.display = "none"),
            $("header").css("display", "block"),
            e()
        }
        )
    }
      , h = n.a;
    a.a
}
, function(e, t) {
    e.exports = function(e) {
        var t = typeof e;
        return null != e && ("object" == t || "function" == t)
    }
}
, function(e, t, i) {
    var s = i(4)
      , n = i(21)
      , r = i(24)
      , a = Math.max
      , o = Math.min;
    e.exports = function(e, t, i) {
        function l(t) {
            var i = f
              , s = v;
            return (f = v = void 0),
            (y = t),
            (g = e.apply(s, i))
        }
        function d(e) {
            return (y = e),
            (b = setTimeout(c, t)),
            x ? l(e) : g
        }
        function h(e) {
            var i = e - w;
            return void 0 === w || i >= t || i < 0 || (C && e - y >= m)
        }
        function c() {
            var e = n();
            if (h(e))
                return u(e);
            b = setTimeout(c, (function(e) {
                var i = t - (e - w);
                return C ? o(i, m - (e - y)) : i
            }
            )(e))
        }
        function u(e) {
            return (b = void 0),
            T && f ? l(e) : ((f = v = void 0),
            g)
        }
        function p() {
            var e = n()
              , i = h(e);
            if (((f = arguments),
            (v = this),
            (w = e),
            i)) {
                if (void 0 === b)
                    return d(w);
                if (C)
                    return clearTimeout(b),
                    (b = setTimeout(c, t)),
                    l(w)
            }
            return void 0 === b && (b = setTimeout(c, t)),
            g
        }
        var f, v, m, g, b, w, y = 0, x = !1, C = !1, T = !0;
        if ("function" != typeof e)
            throw new TypeError("Expected a function");
        return ((t = r(t) || 0),
        s(i) && ((x = !!i.leading),
        (m = (C = "maxWait"in i) ? a(r(i.maxWait) || 0, t) : m),
        (T = "trailing"in i ? !!i.trailing : T)),
        (p.cancel = function() {
            void 0 !== b && clearTimeout(b),
            (y = 0),
            (f = w = v = b = void 0)
        }
        ),
        (p.flush = function() {
            return void 0 === b ? g : u(n())
        }
        ),
        p)
    }
}
, , , function(e, t, i) {
    var s = i(22)
      , n = "object" == typeof self && self && self.Object === Object && self
      , r = s || n || Function("return this")();
    e.exports = r
}
, function(e, t, i) {
    var s = i(8).Symbol;
    e.exports = s
}
, function(e, t, i) {
    var s = i(5)
      , n = i(4);
    e.exports = function(e, t, i) {
        var r = !0
          , a = !0;
        if ("function" != typeof e)
            throw new TypeError("Expected a function");
        return (n(i) && ((r = "leading"in i ? !!i.leading : r),
        (a = "trailing"in i ? !!i.trailing : a)),
        s(e, t, {
            leading: r,
            maxWait: t,
            trailing: a
        }))
    }
}
, , , , , , , , , , , function(e, t, i) {
    var s = i(8);
    e.exports = function() {
        return s.Date.now()
    }
}
, function(e, t, i) {
    (function(t) {
        var i = "object" == typeof t && t && t.Object === Object && t;
        e.exports = i
    }
    .call(this, i(23)))
}
, function(e, t) {
    var i;
    i = (function() {
        return this
    }
    )();
    try {
        i = i || new Function("return this")()
    } catch (e) {
        "object" == typeof window && (i = window)
    }
    e.exports = i
}
, function(e, t, i) {
    var s = i(4)
      , n = i(25)
      , r = /^\s+|\s+$/g
      , a = /^[-+]0x[0-9a-f]+$/i
      , o = /^0b[01]+$/i
      , l = /^0o[0-7]+$/i
      , d = parseInt;
    e.exports = function(e) {
        if ("number" == typeof e)
            return e;
        if (n(e))
            return NaN;
        if (s(e)) {
            var t = "function" == typeof e.valueOf ? e.valueOf() : e;
            e = s(t) ? t + "" : t
        }
        if ("string" != typeof e)
            return 0 === e ? e : +e;
        e = e.replace(r, "");
        var i = o.test(e);
        return i || l.test(e) ? d(e.slice(2), i ? 2 : 8) : a.test(e) ? NaN : +e
    }
}
, function(e, t, i) {
    var s = i(26)
      , n = i(29);
    e.exports = function(e) {
        return "symbol" == typeof e || (n(e) && "[object Symbol]" == s(e))
    }
}
, function(e, t, i) {
    var s = i(9)
      , n = i(27)
      , r = i(28)
      , a = s ? s.toStringTag : void 0;
    e.exports = function(e) {
        return null == e ? void 0 === e ? "[object Undefined]" : "[object Null]" : a && a in Object(e) ? n(e) : r(e)
    }
}
, function(e, t, i) {
    var s = i(9)
      , n = Object.prototype
      , r = n.hasOwnProperty
      , a = n.toString
      , o = s ? s.toStringTag : void 0;
    e.exports = function(e) {
        var t = r.call(e, o)
          , i = e[o];
        try {
            e[o] = void 0;
            var s = !0
        } catch (e) {}
        var n = a.call(e);
        return s && (t ? (e[o] = i) : delete e[o]),
        n
    }
}
, function(e, t) {
    var i = Object.prototype.toString;
    e.exports = function(e) {
        return i.call(e)
    }
}
, function(e, t) {
    e.exports = function(e) {
        return null != e && "object" == typeof e
    }
}
, , function(e, t, i) {
    function s() {
        return (v || ((e = Object(y.b)()),
        (t = Object(y.a)()),
        (v = {
            touch: !!("ontouchstart"in e || (e.DocumentTouch && t instanceof e.DocumentTouch)),
            pointerEvents: !!e.PointerEvent && "maxTouchPoints"in e.navigator && e.navigator.maxTouchPoints >= 0,
            observer: "MutationObserver"in e || "WebkitMutationObserver"in e,
            passiveListener: (function() {
                var t = !1;
                try {
                    var i = Object.defineProperty({}, "passive", {
                        get: function() {
                            t = !0
                        }
                    });
                    e.addEventListener("testPassiveListener", null, i)
                } catch (e) {}
                return t
            }
            )(),
            gestures: "ongesturestart"in e
        })),
        v);
        var e, t
    }
    function n(e) {
        return (void 0 === e && (e = {}),
        m || (m = (function(e) {
            var t = (void 0 === e ? {} : e).userAgent
              , i = s()
              , n = Object(y.b)()
              , r = n.navigator.platform
              , a = t || n.navigator.userAgent
              , o = {
                ios: !1,
                android: !1
            }
              , l = n.screen.width
              , d = n.screen.height
              , h = a.match(/(Android);?[\s\/]+([\d.]+)?/)
              , c = a.match(/(iPad).*OS\s([\d_]+)/)
              , u = a.match(/(iPod)(.*OS\s([\d_]+))?/)
              , p = !c && a.match(/(iPhone\sOS|iOS)\s([\d_]+)/)
              , f = "Win32" === r
              , v = "MacIntel" === r;
            return (!c && v && i.touch && ["1024x1366", "1366x1024", "834x1194", "1194x834", "834x1112", "1112x834", "768x1024", "1024x768", "820x1180", "1180x820", "810x1080", "1080x810"].indexOf(l + "x" + d) >= 0 && ((c = a.match(/(Version)\/([\d.]+)/)) || (c = [0, 1, "13_0_0"]),
            (v = !1)),
            h && !f && ((o.os = "android"),
            (o.android = !0)),
            (c || p || u) && ((o.os = "ios"),
            (o.ios = !0)),
            o)
        }
        )(e)),
        m)
    }
    function r() {
        return (g || ((t = Object(y.b)()),
        (g = {
            isEdge: !!t.navigator.userAgent.match(/Edge/g),
            isSafari: ((e = t.navigator.userAgent.toLowerCase()),
            e.indexOf("safari") >= 0 && e.indexOf("chrome") < 0 && e.indexOf("android") < 0),
            isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(t.navigator.userAgent)
        })),
        g);
        var e, t
    }
    function a() {
        return (a = Object.assign || function(e) {
            for (var t = 1; t < arguments.length; t++) {
                var i = arguments[t];
                for (var s in i)
                    Object.prototype.hasOwnProperty.call(i, s) && (e[s] = i[s])
            }
            return e
        }
        ).apply(this, arguments)
    }
    function o(e) {
        var t = Object(y.a)()
          , i = Object(y.b)()
          , s = this.touchEventsData
          , n = this.params
          , r = this.touches;
        if (!this.animating || !n.preventInteractionOnTransition) {
            var a = e;
            a.originalEvent && (a = a.originalEvent);
            var o = Object(b.a)(a.target);
            if (("wrapper" !== n.touchEventsTarget || o.closest(this.wrapperEl).length) && ((s.isTouchEvent = "touchstart" === a.type),
            (s.isTouchEvent || !("which"in a) || 3 !== a.which) && !((!s.isTouchEvent && "button"in a && a.button > 0) || (s.isTouched && s.isMoved))))
                if ((!!n.noSwipingClass && "" !== n.noSwipingClass && a.target && a.target.shadowRoot && e.path && e.path[0] && (o = Object(b.a)(e.path[0])),
                n.noSwiping && o.closest(n.noSwipingSelector ? n.noSwipingSelector : "." + n.noSwipingClass)[0]))
                    this.allowClick = !0;
                else if (!n.swipeHandler || o.closest(n.swipeHandler)[0]) {
                    (r.currentX = "touchstart" === a.type ? a.targetTouches[0].pageX : a.pageX),
                    (r.currentY = "touchstart" === a.type ? a.targetTouches[0].pageY : a.pageY);
                    var l = r.currentX
                      , d = r.currentY
                      , h = n.edgeSwipeDetection || n.iOSEdgeSwipeDetection
                      , c = n.edgeSwipeThreshold || n.iOSEdgeSwipeThreshold;
                    if (!h || !(l <= c || l >= i.innerWidth - c)) {
                        if ((Object(w.c)(s, {
                            isTouched: !0,
                            isMoved: !1,
                            allowTouchCallbacks: !0,
                            isScrolling: void 0,
                            startMoving: void 0
                        }),
                        (r.startX = l),
                        (r.startY = d),
                        (s.touchStartTime = Object(w.f)()),
                        (this.allowClick = !0),
                        this.updateSize(),
                        (this.swipeDirection = void 0),
                        n.threshold > 0 && (s.allowThresholdMove = !1),
                        "touchstart" !== a.type)) {
                            var u = !0;
                            o.is(s.formElements) && (u = !1),
                            t.activeElement && Object(b.a)(t.activeElement).is(s.formElements) && t.activeElement !== o[0] && t.activeElement.blur();
                            var p = u && this.allowTouchMove && n.touchStartPreventDefault;
                            (!n.touchStartForcePreventDefault && !p) || o[0].isContentEditable || a.preventDefault()
                        }
                        this.emit("touchStart", a)
                    }
                }
        }
    }
    function l(e) {
        var t = Object(y.a)()
          , i = this.touchEventsData
          , s = this.params
          , n = this.touches
          , r = this.rtlTranslate
          , a = e;
        if ((a.originalEvent && (a = a.originalEvent),
        i.isTouched)) {
            if (!i.isTouchEvent || "touchmove" === a.type) {
                var o = "touchmove" === a.type && a.targetTouches && (a.targetTouches[0] || a.changedTouches[0])
                  , l = "touchmove" === a.type ? o.pageX : a.pageX
                  , d = "touchmove" === a.type ? o.pageY : a.pageY;
                if (a.preventedByNestedSwiper)
                    return (n.startX = l),
                    void (n.startY = d);
                if (!this.allowTouchMove)
                    return ((this.allowClick = !1),
                    void (i.isTouched && (Object(w.c)(n, {
                        startX: l,
                        startY: d,
                        currentX: l,
                        currentY: d
                    }),
                    (i.touchStartTime = Object(w.f)()))));
                if (i.isTouchEvent && s.touchReleaseOnEdges && !s.loop)
                    if (this.isVertical()) {
                        if ((d < n.startY && this.translate <= this.maxTranslate()) || (d > n.startY && this.translate >= this.minTranslate()))
                            return (i.isTouched = !1),
                            void (i.isMoved = !1)
                    } else if ((l < n.startX && this.translate <= this.maxTranslate()) || (l > n.startX && this.translate >= this.minTranslate()))
                        return;
                if (i.isTouchEvent && t.activeElement && a.target === t.activeElement && Object(b.a)(a.target).is(i.formElements))
                    return (i.isMoved = !0),
                    void (this.allowClick = !1);
                if ((i.allowTouchCallbacks && this.emit("touchMove", a),
                !(a.targetTouches && a.targetTouches.length > 1))) {
                    (n.currentX = l),
                    (n.currentY = d);
                    var h, c = n.currentX - n.startX, u = n.currentY - n.startY;
                    if (!(this.params.threshold && Math.sqrt(Math.pow(c, 2) + Math.pow(u, 2)) < this.params.threshold))
                        if ((void 0 === i.isScrolling && ((this.isHorizontal() && n.currentY === n.startY) || (this.isVertical() && n.currentX === n.startX) ? (i.isScrolling = !1) : c * c + u * u >= 25 && ((h = (180 * Math.atan2(Math.abs(u), Math.abs(c))) / Math.PI),
                        (i.isScrolling = this.isHorizontal() ? h > s.touchAngle : 90 - h > s.touchAngle))),
                        i.isScrolling && this.emit("touchMoveOpposite", a),
                        void 0 === i.startMoving && ((n.currentX === n.startX && n.currentY === n.startY) || (i.startMoving = !0)),
                        i.isScrolling))
                            i.isTouched = !1;
                        else if (i.startMoving) {
                            (this.allowClick = !1),
                            !s.cssMode && a.cancelable && a.preventDefault(),
                            s.touchMoveStopPropagation && !s.nested && a.stopPropagation(),
                            i.isMoved || (s.loop && this.loopFix(),
                            (i.startTranslate = this.getTranslate()),
                            this.setTransition(0),
                            this.animating && this.$wrapperEl.trigger("webkitTransitionEnd transitionend"),
                            (i.allowMomentumBounce = !1),
                            !s.grabCursor || (!0 !== this.allowSlideNext && !0 !== this.allowSlidePrev) || this.setGrabCursor(!0),
                            this.emit("sliderFirstMove", a)),
                            this.emit("sliderMove", a),
                            (i.isMoved = !0);
                            var p = this.isHorizontal() ? c : u;
                            (n.diff = p),
                            (p *= s.touchRatio),
                            r && (p = -p),
                            (this.swipeDirection = p > 0 ? "prev" : "next"),
                            (i.currentTranslate = p + i.startTranslate);
                            var f = !0
                              , v = s.resistanceRatio;
                            if ((s.touchReleaseOnEdges && (v = 0),
                            p > 0 && i.currentTranslate > this.minTranslate() ? ((f = !1),
                            s.resistance && (i.currentTranslate = this.minTranslate() - 1 + Math.pow(-this.minTranslate() + i.startTranslate + p, v))) : p < 0 && i.currentTranslate < this.maxTranslate() && ((f = !1),
                            s.resistance && (i.currentTranslate = this.maxTranslate() + 1 - Math.pow(this.maxTranslate() - i.startTranslate - p, v))),
                            f && (a.preventedByNestedSwiper = !0),
                            !this.allowSlideNext && "next" === this.swipeDirection && i.currentTranslate < i.startTranslate && (i.currentTranslate = i.startTranslate),
                            !this.allowSlidePrev && "prev" === this.swipeDirection && i.currentTranslate > i.startTranslate && (i.currentTranslate = i.startTranslate),
                            s.threshold > 0)) {
                                if (!(Math.abs(p) > s.threshold || i.allowThresholdMove))
                                    return void (i.currentTranslate = i.startTranslate);
                                if (!i.allowThresholdMove)
                                    return ((i.allowThresholdMove = !0),
                                    (n.startX = n.currentX),
                                    (n.startY = n.currentY),
                                    (i.currentTranslate = i.startTranslate),
                                    void (n.diff = this.isHorizontal() ? n.currentX - n.startX : n.currentY - n.startY))
                            }
                            s.followFinger && !s.cssMode && ((s.freeMode || s.watchSlidesProgress || s.watchSlidesVisibility) && (this.updateActiveIndex(),
                            this.updateSlidesClasses()),
                            s.freeMode && (0 === i.velocities.length && i.velocities.push({
                                position: n[this.isHorizontal() ? "startX" : "startY"],
                                time: i.touchStartTime
                            }),
                            i.velocities.push({
                                position: n[this.isHorizontal() ? "currentX" : "currentY"],
                                time: Object(w.f)()
                            })),
                            this.updateProgress(i.currentTranslate),
                            this.setTranslate(i.currentTranslate))
                        }
                }
            }
        } else
            i.startMoving && i.isScrolling && this.emit("touchMoveOpposite", a)
    }
    function d(e) {
        var t = this
          , i = t.touchEventsData
          , s = t.params
          , n = t.touches
          , r = t.rtlTranslate
          , a = t.$wrapperEl
          , o = t.slidesGrid
          , l = t.snapGrid
          , d = e;
        if ((d.originalEvent && (d = d.originalEvent),
        i.allowTouchCallbacks && t.emit("touchEnd", d),
        (i.allowTouchCallbacks = !1),
        !i.isTouched))
            return (i.isMoved && s.grabCursor && t.setGrabCursor(!1),
            (i.isMoved = !1),
            void (i.startMoving = !1));
        s.grabCursor && i.isMoved && i.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1);
        var h, c = Object(w.f)(), u = c - i.touchStartTime;
        if ((t.allowClick && (t.updateClickedSlide(d),
        t.emit("tap click", d),
        u < 300 && c - i.lastClickTime < 300 && t.emit("doubleTap doubleClick", d)),
        (i.lastClickTime = Object(w.f)()),
        Object(w.e)(function() {
            t.destroyed || (t.allowClick = !0)
        }),
        !i.isTouched || !i.isMoved || !t.swipeDirection || 0 === n.diff || i.currentTranslate === i.startTranslate))
            return ((i.isTouched = !1),
            (i.isMoved = !1),
            void (i.startMoving = !1));
        if (((i.isTouched = !1),
        (i.isMoved = !1),
        (i.startMoving = !1),
        (h = s.followFinger ? r ? t.translate : -t.translate : -i.currentTranslate),
        !s.cssMode))
            if (s.freeMode) {
                if (h < -t.minTranslate())
                    return void t.slideTo(t.activeIndex);
                if (h > -t.maxTranslate())
                    return void (t.slides.length < l.length ? t.slideTo(l.length - 1) : t.slideTo(t.slides.length - 1));
                if (s.freeModeMomentum) {
                    if (i.velocities.length > 1) {
                        var p = i.velocities.pop()
                          , f = i.velocities.pop()
                          , v = p.position - f.position
                          , m = p.time - f.time;
                        (t.velocity = v / m),
                        (t.velocity /= 2),
                        Math.abs(t.velocity) < s.freeModeMinimumVelocity && (t.velocity = 0),
                        (m > 150 || Object(w.f)() - p.time > 300) && (t.velocity = 0)
                    } else
                        t.velocity = 0;
                    (t.velocity *= s.freeModeMomentumVelocityRatio),
                    (i.velocities.length = 0);
                    var g = 1e3 * s.freeModeMomentumRatio
                      , b = t.velocity * g
                      , y = t.translate + b;
                    r && (y = -y);
                    var x, C, T = !1, S = 20 * Math.abs(t.velocity) * s.freeModeMomentumBounceRatio;
                    if (y < t.maxTranslate())
                        s.freeModeMomentumBounce ? (y + t.maxTranslate() < -S && (y = t.maxTranslate() - S),
                        (x = t.maxTranslate()),
                        (T = !0),
                        (i.allowMomentumBounce = !0)) : (y = t.maxTranslate()),
                        s.loop && s.centeredSlides && (C = !0);
                    else if (y > t.minTranslate())
                        s.freeModeMomentumBounce ? (y - t.minTranslate() > S && (y = t.minTranslate() + S),
                        (x = t.minTranslate()),
                        (T = !0),
                        (i.allowMomentumBounce = !0)) : (y = t.minTranslate()),
                        s.loop && s.centeredSlides && (C = !0);
                    else if (s.freeModeSticky) {
                        for (var E, O = 0; O < l.length; O += 1)
                            if (l[O] > -y) {
                                E = O;
                                break
                            }
                        y = -(y = Math.abs(l[E] - y) < Math.abs(l[E - 1] - y) || "next" === t.swipeDirection ? l[E] : l[E - 1])
                    }
                    if ((C && t.once("transitionEnd", function() {
                        t.loopFix()
                    }),
                    0 !== t.velocity)) {
                        if (((g = r ? Math.abs((-y - t.translate) / t.velocity) : Math.abs((y - t.translate) / t.velocity)),
                        s.freeModeSticky)) {
                            var M = Math.abs((r ? -y : y) - t.translate)
                              , P = t.slidesSizesGrid[t.activeIndex];
                            g = M < P ? s.speed : M < 2 * P ? 1.5 * s.speed : 2.5 * s.speed
                        }
                    } else if (s.freeModeSticky)
                        return void t.slideToClosest();
                    s.freeModeMomentumBounce && T ? (t.updateProgress(x),
                    t.setTransition(g),
                    t.setTranslate(y),
                    t.transitionStart(!0, t.swipeDirection),
                    (t.animating = !0),
                    a.transitionEnd(function() {
                        t && !t.destroyed && i.allowMomentumBounce && (t.emit("momentumBounce"),
                        t.setTransition(s.speed),
                        setTimeout(function() {
                            t.setTranslate(x),
                            a.transitionEnd(function() {
                                t && !t.destroyed && t.transitionEnd()
                            })
                        }, 0))
                    })) : t.velocity ? (t.updateProgress(y),
                    t.setTransition(g),
                    t.setTranslate(y),
                    t.transitionStart(!0, t.swipeDirection),
                    t.animating || ((t.animating = !0),
                    a.transitionEnd(function() {
                        t && !t.destroyed && t.transitionEnd()
                    }))) : t.updateProgress(y),
                    t.updateActiveIndex(),
                    t.updateSlidesClasses()
                } else if (s.freeModeSticky)
                    return void t.slideToClosest();
                (!s.freeModeMomentum || u >= s.longSwipesMs) && (t.updateProgress(),
                t.updateActiveIndex(),
                t.updateSlidesClasses())
            } else {
                for (var k = 0, L = t.slidesSizesGrid[0], A = 0; A < o.length; A += A < s.slidesPerGroupSkip ? 1 : s.slidesPerGroup) {
                    var j = A < s.slidesPerGroupSkip - 1 ? 1 : s.slidesPerGroup;
                    void 0 !== o[A + j] ? h >= o[A] && h < o[A + j] && ((k = A),
                    (L = o[A + j] - o[A])) : h >= o[A] && ((k = A),
                    (L = o[o.length - 1] - o[o.length - 2]))
                }
                var B = (h - o[k]) / L
                  , I = k < s.slidesPerGroupSkip - 1 ? 1 : s.slidesPerGroup;
                if (u > s.longSwipesMs) {
                    if (!s.longSwipes)
                        return void t.slideTo(t.activeIndex);
                    "next" === t.swipeDirection && (B >= s.longSwipesRatio ? t.slideTo(k + I) : t.slideTo(k)),
                    "prev" === t.swipeDirection && (B > 1 - s.longSwipesRatio ? t.slideTo(k + I) : t.slideTo(k))
                } else {
                    if (!s.shortSwipes)
                        return void t.slideTo(t.activeIndex);
                    !t.navigation || (d.target !== t.navigation.nextEl && d.target !== t.navigation.prevEl) ? ("next" === t.swipeDirection && t.slideTo(k + I),
                    "prev" === t.swipeDirection && t.slideTo(k)) : d.target === t.navigation.nextEl ? t.slideTo(k + I) : t.slideTo(k)
                }
            }
    }
    function h() {
        var e = this.params
          , t = this.el;
        if (!t || 0 !== t.offsetWidth) {
            e.breakpoints && this.setBreakpoint();
            var i = this.allowSlideNext
              , s = this.allowSlidePrev
              , n = this.snapGrid;
            (this.allowSlideNext = !0),
            (this.allowSlidePrev = !0),
            this.updateSize(),
            this.updateSlides(),
            this.updateSlidesClasses(),
            ("auto" === e.slidesPerView || e.slidesPerView > 1) && this.isEnd && !this.isBeginning && !this.params.centeredSlides ? this.slideTo(this.slides.length - 1, 0, !1, !0) : this.slideTo(this.activeIndex, 0, !1, !0),
            this.autoplay && this.autoplay.running && this.autoplay.paused && this.autoplay.run(),
            (this.allowSlidePrev = s),
            (this.allowSlideNext = i),
            this.params.watchOverflow && n !== this.snapGrid && this.checkOverflow()
        }
    }
    function c(e) {
        this.allowClick || (this.params.preventClicks && e.preventDefault(),
        this.params.preventClicksPropagation && this.animating && (e.stopPropagation(),
        e.stopImmediatePropagation()))
    }
    function u() {
        var e = this.wrapperEl
          , t = this.rtlTranslate;
        (this.previousTranslate = this.translate),
        this.isHorizontal() ? (this.translate = t ? e.scrollWidth - e.offsetWidth - e.scrollLeft : -e.scrollLeft) : (this.translate = -e.scrollTop),
        -0 === this.translate && (this.translate = 0),
        this.updateActiveIndex(),
        this.updateSlidesClasses();
        var i = this.maxTranslate() - this.minTranslate();
        (0 === i ? 0 : (this.translate - this.minTranslate()) / i) !== this.progress && this.updateProgress(t ? -this.translate : this.translate),
        this.emit("setTranslate", this.translate, !1)
    }
    function p() {}
    function f(e, t) {
        for (var i = 0; i < t.length; i++) {
            var s = t[i];
            (s.enumerable = s.enumerable || !1),
            (s.configurable = !0),
            "value"in s && (s.writable = !0),
            Object.defineProperty(e, s.key, s)
        }
    }
    var v, m, g, b = i(2), w = i(0), y = i(1), x = {
        name: "resize",
        create: function() {
            var e = this;
            Object(w.c)(e, {
                resize: {
                    resizeHandler: function() {
                        e && !e.destroyed && e.initialized && (e.emit("beforeResize"),
                        e.emit("resize"))
                    },
                    orientationChangeHandler: function() {
                        e && !e.destroyed && e.initialized && e.emit("orientationchange")
                    }
                }
            })
        },
        on: {
            init: function(e) {
                var t = Object(y.b)();
                t.addEventListener("resize", e.resize.resizeHandler),
                t.addEventListener("orientationchange", e.resize.orientationChangeHandler)
            },
            destroy: function(e) {
                var t = Object(y.b)();
                t.removeEventListener("resize", e.resize.resizeHandler),
                t.removeEventListener("orientationchange", e.resize.orientationChangeHandler)
            }
        }
    }, C = {
        attach: function(e, t) {
            void 0 === t && (t = {});
            var i = Object(y.b)()
              , s = this
              , n = new (i.MutationObserver || i.WebkitMutationObserver)(function(e) {
                if (1 !== e.length) {
                    var t = function() {
                        s.emit("observerUpdate", e[0])
                    };
                    i.requestAnimationFrame ? i.requestAnimationFrame(t) : i.setTimeout(t, 0)
                } else
                    s.emit("observerUpdate", e[0])
            }
            );
            n.observe(e, {
                attributes: void 0 === t.attributes || t.attributes,
                childList: void 0 === t.childList || t.childList,
                characterData: void 0 === t.characterData || t.characterData
            }),
            s.observer.observers.push(n)
        },
        init: function() {
            if (this.support.observer && this.params.observer) {
                if (this.params.observeParents)
                    for (var e = this.$el.parents(), t = 0; t < e.length; t += 1)
                        this.observer.attach(e[t]);
                this.observer.attach(this.$el[0], {
                    childList: this.params.observeSlideChildren
                }),
                this.observer.attach(this.$wrapperEl[0], {
                    attributes: !1
                })
            }
        },
        destroy: function() {
            this.observer.observers.forEach(function(e) {
                e.disconnect()
            }),
            (this.observer.observers = [])
        }
    }, T = {
        name: "observer",
        params: {
            observer: !1,
            observeParents: !1,
            observeSlideChildren: !1
        },
        create: function() {
            Object(w.a)(this, {
                observer: a({}, C, {
                    observers: []
                })
            })
        },
        on: {
            init: function(e) {
                e.observer.init()
            },
            destroy: function(e) {
                e.observer.destroy()
            }
        }
    }, S = !1, E = {
        init: !0,
        direction: "horizontal",
        touchEventsTarget: "container",
        initialSlide: 0,
        speed: 300,
        cssMode: !1,
        updateOnWindowResize: !0,
        nested: !1,
        width: null,
        height: null,
        preventInteractionOnTransition: !1,
        userAgent: null,
        url: null,
        edgeSwipeDetection: !1,
        edgeSwipeThreshold: 20,
        freeMode: !1,
        freeModeMomentum: !0,
        freeModeMomentumRatio: 1,
        freeModeMomentumBounce: !0,
        freeModeMomentumBounceRatio: 1,
        freeModeMomentumVelocityRatio: 1,
        freeModeSticky: !1,
        freeModeMinimumVelocity: 0.02,
        autoHeight: !1,
        setWrapperSize: !1,
        virtualTranslate: !1,
        effect: "slide",
        breakpoints: void 0,
        spaceBetween: 0,
        slidesPerView: 1,
        slidesPerColumn: 1,
        slidesPerColumnFill: "column",
        slidesPerGroup: 1,
        slidesPerGroupSkip: 0,
        centeredSlides: !1,
        centeredSlidesBounds: !1,
        slidesOffsetBefore: 0,
        slidesOffsetAfter: 0,
        normalizeSlideIndex: !0,
        centerInsufficientSlides: !1,
        watchOverflow: !1,
        roundLengths: !1,
        touchRatio: 1,
        touchAngle: 45,
        simulateTouch: !0,
        shortSwipes: !0,
        longSwipes: !0,
        longSwipesRatio: 0.5,
        longSwipesMs: 300,
        followFinger: !0,
        allowTouchMove: !0,
        threshold: 0,
        touchMoveStopPropagation: !1,
        touchStartPreventDefault: !0,
        touchStartForcePreventDefault: !1,
        touchReleaseOnEdges: !1,
        uniqueNavElements: !0,
        resistance: !0,
        resistanceRatio: 0.85,
        watchSlidesProgress: !1,
        watchSlidesVisibility: !1,
        grabCursor: !1,
        preventClicks: !0,
        preventClicksPropagation: !0,
        slideToClickedSlide: !1,
        preloadImages: !0,
        updateOnImagesReady: !0,
        loop: !1,
        loopAdditionalSlides: 0,
        loopedSlides: null,
        loopFillGroupWithBlank: !1,
        loopPreventsSlide: !0,
        allowSlidePrev: !0,
        allowSlideNext: !0,
        swipeHandler: null,
        noSwiping: !0,
        noSwipingClass: "swiper-no-swiping",
        noSwipingSelector: null,
        passiveListeners: !0,
        containerModifierClass: "swiper-container-",
        slideClass: "swiper-slide",
        slideBlankClass: "swiper-slide-invisible-blank",
        slideActiveClass: "swiper-slide-active",
        slideDuplicateActiveClass: "swiper-slide-duplicate-active",
        slideVisibleClass: "swiper-slide-visible",
        slideDuplicateClass: "swiper-slide-duplicate",
        slideNextClass: "swiper-slide-next",
        slideDuplicateNextClass: "swiper-slide-duplicate-next",
        slidePrevClass: "swiper-slide-prev",
        slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
        wrapperClass: "swiper-wrapper",
        runCallbacksOnInit: !0,
        _emitClasses: !1
    }, O = {
        modular: {
            useParams: function(e) {
                var t = this;
                t.modules && Object.keys(t.modules).forEach(function(i) {
                    var s = t.modules[i];
                    s.params && Object(w.c)(e, s.params)
                })
            },
            useModules: function(e) {
                void 0 === e && (e = {});
                var t = this;
                t.modules && Object.keys(t.modules).forEach(function(i) {
                    var s = t.modules[i]
                      , n = e[i] || {};
                    s.on && t.on && Object.keys(s.on).forEach(function(e) {
                        t.on(e, s.on[e])
                    }),
                    s.create && s.create.bind(t)(n)
                })
            }
        },
        eventsEmitter: {
            on: function(e, t, i) {
                var s = this;
                if ("function" != typeof t)
                    return s;
                var n = i ? "unshift" : "push";
                return (e.split(" ").forEach(function(e) {
                    s.eventsListeners[e] || (s.eventsListeners[e] = []),
                    s.eventsListeners[e][n](t)
                }),
                s)
            },
            once: function(e, t, i) {
                function s() {
                    n.off(e, s),
                    s.__emitterProxy && delete s.__emitterProxy;
                    for (var i = arguments.length, r = new Array(i), a = 0; a < i; a++)
                        r[a] = arguments[a];
                    t.apply(n, r)
                }
                var n = this;
                return "function" != typeof t ? n : ((s.__emitterProxy = t),
                n.on(e, s, i))
            },
            onAny: function(e, t) {
                if ("function" != typeof e)
                    return this;
                var i = t ? "unshift" : "push";
                return (this.eventsAnyListeners.indexOf(e) < 0 && this.eventsAnyListeners[i](e),
                this)
            },
            offAny: function(e) {
                if (!this.eventsAnyListeners)
                    return this;
                var t = this.eventsAnyListeners.indexOf(e);
                return t >= 0 && this.eventsAnyListeners.splice(t, 1),
                this
            },
            off: function(e, t) {
                var i = this;
                return i.eventsListeners ? (e.split(" ").forEach(function(e) {
                    void 0 === t ? (i.eventsListeners[e] = []) : i.eventsListeners[e] && i.eventsListeners[e].forEach(function(s, n) {
                        (s === t || (s.__emitterProxy && s.__emitterProxy === t)) && i.eventsListeners[e].splice(n, 1)
                    })
                }),
                i) : i
            },
            emit: function() {
                var e, t, i, s = this;
                if (!s.eventsListeners)
                    return s;
                for (var n = arguments.length, r = new Array(n), a = 0; a < n; a++)
                    r[a] = arguments[a];
                "string" == typeof r[0] || Array.isArray(r[0]) ? ((e = r[0]),
                (t = r.slice(1, r.length)),
                (i = s)) : ((e = r[0].events),
                (t = r[0].data),
                (i = r[0].context || s)),
                t.unshift(i);
                var o = Array.isArray(e) ? e : e.split(" ");
                return (o.forEach(function(e) {
                    s.eventsAnyListeners && s.eventsAnyListeners.length && s.eventsAnyListeners.forEach(function(s) {
                        s.apply(i, [e].concat(t))
                    }),
                    s.eventsListeners && s.eventsListeners[e] && s.eventsListeners[e].forEach(function(e) {
                        e.apply(i, t)
                    })
                }),
                s)
            }
        },
        update: {
            updateSize: function() {
                var e, t, i = this.$el;
                (e = void 0 !== this.params.width && null !== this.params.width ? this.params.width : i[0].clientWidth),
                (t = void 0 !== this.params.height && null !== this.params.height ? this.params.height : i[0].clientHeight),
                (0 === e && this.isHorizontal()) || (0 === t && this.isVertical()) || ((e = e - parseInt(i.css("padding-left") || 0, 10) - parseInt(i.css("padding-right") || 0, 10)),
                (t = t - parseInt(i.css("padding-top") || 0, 10) - parseInt(i.css("padding-bottom") || 0, 10)),
                Number.isNaN(e) && (e = 0),
                Number.isNaN(t) && (t = 0),
                Object(w.c)(this, {
                    width: e,
                    height: t,
                    size: this.isHorizontal() ? e : t
                }))
            },
            updateSlides: function() {
                function e(e, t) {
                    return !i.cssMode || t !== d.length - 1
                }
                var t = Object(y.b)()
                  , i = this.params
                  , s = this.$wrapperEl
                  , n = this.size
                  , r = this.rtlTranslate
                  , a = this.wrongRTL
                  , o = this.virtual && i.virtual.enabled
                  , l = o ? this.virtual.slides.length : this.slides.length
                  , d = s.children("." + this.params.slideClass)
                  , h = o ? this.virtual.slides.length : d.length
                  , c = []
                  , u = []
                  , p = []
                  , f = i.slidesOffsetBefore;
                "function" == typeof f && (f = i.slidesOffsetBefore.call(this));
                var v = i.slidesOffsetAfter;
                "function" == typeof v && (v = i.slidesOffsetAfter.call(this));
                var m = this.snapGrid.length
                  , g = this.slidesGrid.length
                  , b = i.spaceBetween
                  , x = -f
                  , C = 0
                  , T = 0;
                if (void 0 !== n) {
                    var S, E;
                    "string" == typeof b && b.indexOf("%") >= 0 && (b = (parseFloat(b.replace("%", "")) / 100) * n),
                    (this.virtualSize = -b),
                    r ? d.css({
                        marginLeft: "",
                        marginTop: ""
                    }) : d.css({
                        marginRight: "",
                        marginBottom: ""
                    }),
                    i.slidesPerColumn > 1 && ((S = Math.floor(h / i.slidesPerColumn) === h / this.params.slidesPerColumn ? h : Math.ceil(h / i.slidesPerColumn) * i.slidesPerColumn),
                    "auto" !== i.slidesPerView && "row" === i.slidesPerColumnFill && (S = Math.max(S, i.slidesPerView * i.slidesPerColumn)));
                    for (var O, M = i.slidesPerColumn, P = S / M, k = Math.floor(h / i.slidesPerColumn), L = 0; L < h; L += 1) {
                        E = 0;
                        var A = d.eq(L);
                        if (i.slidesPerColumn > 1) {
                            var j = void 0
                              , B = void 0
                              , I = void 0;
                            if ("row" === i.slidesPerColumnFill && i.slidesPerGroup > 1) {
                                var z = Math.floor(L / (i.slidesPerGroup * i.slidesPerColumn))
                                  , $ = L - i.slidesPerColumn * i.slidesPerGroup * z
                                  , N = 0 === z ? i.slidesPerGroup : Math.min(Math.ceil((h - z * M * i.slidesPerGroup) / M), i.slidesPerGroup);
                                (j = (B = $ - (I = Math.floor($ / N)) * N + z * i.slidesPerGroup) + (I * S) / M),
                                A.css({
                                    "-webkit-box-ordinal-group": j,
                                    "-moz-box-ordinal-group": j,
                                    "-ms-flex-order": j,
                                    "-webkit-order": j,
                                    order: j
                                })
                            } else
                                "column" === i.slidesPerColumnFill ? ((I = L - (B = Math.floor(L / M)) * M),
                                (B > k || (B === k && I === M - 1)) && (I += 1) >= M && ((I = 0),
                                (B += 1))) : (B = L - (I = Math.floor(L / P)) * P);
                            A.css("margin-" + (this.isHorizontal() ? "top" : "left"), 0 !== I && i.spaceBetween && i.spaceBetween + "px")
                        }
                        if ("none" !== A.css("display")) {
                            if ("auto" === i.slidesPerView) {
                                var D = t.getComputedStyle(A[0], null)
                                  , G = A[0].style.transform
                                  , H = A[0].style.webkitTransform;
                                if ((G && (A[0].style.transform = "none"),
                                H && (A[0].style.webkitTransform = "none"),
                                i.roundLengths))
                                    E = this.isHorizontal() ? A.outerWidth(!0) : A.outerHeight(!0);
                                else if (this.isHorizontal()) {
                                    var V = parseFloat(D.getPropertyValue("width") || 0)
                                      , F = parseFloat(D.getPropertyValue("padding-left") || 0)
                                      , R = parseFloat(D.getPropertyValue("padding-right") || 0)
                                      , W = parseFloat(D.getPropertyValue("margin-left") || 0)
                                      , X = parseFloat(D.getPropertyValue("margin-right") || 0)
                                      , q = D.getPropertyValue("box-sizing");
                                    if (q && "border-box" === q)
                                        E = V + W + X;
                                    else {
                                        var Y = A[0]
                                          , _ = Y.clientWidth;
                                        E = V + F + R + W + X + (Y.offsetWidth - _)
                                    }
                                } else {
                                    var U = parseFloat(D.getPropertyValue("height") || 0)
                                      , K = parseFloat(D.getPropertyValue("padding-top") || 0)
                                      , J = parseFloat(D.getPropertyValue("padding-bottom") || 0)
                                      , Q = parseFloat(D.getPropertyValue("margin-top") || 0)
                                      , Z = parseFloat(D.getPropertyValue("margin-bottom") || 0)
                                      , ee = D.getPropertyValue("box-sizing");
                                    if (ee && "border-box" === ee)
                                        E = U + Q + Z;
                                    else {
                                        var te = A[0]
                                          , ie = te.clientHeight;
                                        E = U + K + J + Q + Z + (te.offsetHeight - ie)
                                    }
                                }
                                G && (A[0].style.transform = G),
                                H && (A[0].style.webkitTransform = H),
                                i.roundLengths && (E = Math.floor(E))
                            } else
                                (E = (n - (i.slidesPerView - 1) * b) / i.slidesPerView),
                                i.roundLengths && (E = Math.floor(E)),
                                d[L] && (this.isHorizontal() ? (d[L].style.width = E + "px") : (d[L].style.height = E + "px"));
                            d[L] && (d[L].swiperSlideSize = E),
                            p.push(E),
                            i.centeredSlides ? ((x = x + E / 2 + C / 2 + b),
                            0 === C && 0 !== L && (x = x - n / 2 - b),
                            0 === L && (x = x - n / 2 - b),
                            Math.abs(x) < 0.001 && (x = 0),
                            i.roundLengths && (x = Math.floor(x)),
                            T % i.slidesPerGroup == 0 && c.push(x),
                            u.push(x)) : (i.roundLengths && (x = Math.floor(x)),
                            (T - Math.min(this.params.slidesPerGroupSkip, T)) % this.params.slidesPerGroup == 0 && c.push(x),
                            u.push(x),
                            (x = x + E + b)),
                            (this.virtualSize += E + b),
                            (C = E),
                            (T += 1)
                        }
                    }
                    if (((this.virtualSize = Math.max(this.virtualSize, n) + v),
                    r && a && ("slide" === i.effect || "coverflow" === i.effect) && s.css({
                        width: this.virtualSize + i.spaceBetween + "px"
                    }),
                    i.setWrapperSize && (this.isHorizontal() ? s.css({
                        width: this.virtualSize + i.spaceBetween + "px"
                    }) : s.css({
                        height: this.virtualSize + i.spaceBetween + "px"
                    })),
                    i.slidesPerColumn > 1 && ((this.virtualSize = (E + i.spaceBetween) * S),
                    (this.virtualSize = Math.ceil(this.virtualSize / i.slidesPerColumn) - i.spaceBetween),
                    this.isHorizontal() ? s.css({
                        width: this.virtualSize + i.spaceBetween + "px"
                    }) : s.css({
                        height: this.virtualSize + i.spaceBetween + "px"
                    }),
                    i.centeredSlides))) {
                        O = [];
                        for (var se = 0; se < c.length; se += 1) {
                            var ne = c[se];
                            i.roundLengths && (ne = Math.floor(ne)),
                            c[se] < this.virtualSize + c[0] && O.push(ne)
                        }
                        c = O
                    }
                    if (!i.centeredSlides) {
                        O = [];
                        for (var re = 0; re < c.length; re += 1) {
                            var ae = c[re];
                            i.roundLengths && (ae = Math.floor(ae)),
                            c[re] <= this.virtualSize - n && O.push(ae)
                        }
                        (c = O),
                        Math.floor(this.virtualSize - n) - Math.floor(c[c.length - 1]) > 1 && c.push(this.virtualSize - n)
                    }
                    if ((0 === c.length && (c = [0]),
                    0 !== i.spaceBetween && (this.isHorizontal() ? r ? d.filter(e).css({
                        marginLeft: b + "px"
                    }) : d.filter(e).css({
                        marginRight: b + "px"
                    }) : d.filter(e).css({
                        marginBottom: b + "px"
                    })),
                    i.centeredSlides && i.centeredSlidesBounds)) {
                        var oe = 0;
                        p.forEach(function(e) {
                            oe += e + (i.spaceBetween ? i.spaceBetween : 0)
                        });
                        var le = (oe -= i.spaceBetween) - n;
                        c = c.map(function(e) {
                            return e < 0 ? -f : e > le ? le + v : e
                        })
                    }
                    if (i.centerInsufficientSlides) {
                        var de = 0;
                        if ((p.forEach(function(e) {
                            de += e + (i.spaceBetween ? i.spaceBetween : 0)
                        }),
                        (de -= i.spaceBetween) < n)) {
                            var he = (n - de) / 2;
                            c.forEach(function(e, t) {
                                c[t] = e - he
                            }),
                            u.forEach(function(e, t) {
                                u[t] = e + he
                            })
                        }
                    }
                    Object(w.c)(this, {
                        slides: d,
                        snapGrid: c,
                        slidesGrid: u,
                        slidesSizesGrid: p
                    }),
                    h !== l && this.emit("slidesLengthChange"),
                    c.length !== m && (this.params.watchOverflow && this.checkOverflow(),
                    this.emit("snapGridLengthChange")),
                    u.length !== g && this.emit("slidesGridLengthChange"),
                    (i.watchSlidesProgress || i.watchSlidesVisibility) && this.updateSlidesOffset()
                }
            },
            updateAutoHeight: function(e) {
                var t, i = [], s = 0;
                if (("number" == typeof e ? this.setTransition(e) : !0 === e && this.setTransition(this.params.speed),
                "auto" !== this.params.slidesPerView && this.params.slidesPerView > 1))
                    if (this.params.centeredSlides)
                        this.visibleSlides.each(function(e) {
                            i.push(e)
                        });
                    else
                        for (t = 0; t < Math.ceil(this.params.slidesPerView); t += 1) {
                            var n = this.activeIndex + t;
                            if (n > this.slides.length)
                                break;
                            i.push(this.slides.eq(n)[0])
                        }
                else
                    i.push(this.slides.eq(this.activeIndex)[0]);
                for (t = 0; t < i.length; t += 1)
                    if (void 0 !== i[t]) {
                        var r = i[t].offsetHeight;
                        s = r > s ? r : s
                    }
                s && this.$wrapperEl.css("height", s + "px")
            },
            updateSlidesOffset: function() {
                for (var e = this.slides, t = 0; t < e.length; t += 1)
                    e[t].swiperSlideOffset = this.isHorizontal() ? e[t].offsetLeft : e[t].offsetTop
            },
            updateSlidesProgress: function(e) {
                void 0 === e && (e = (this && this.translate) || 0);
                var t = this.params
                  , i = this.slides
                  , s = this.rtlTranslate;
                if (0 !== i.length) {
                    void 0 === i[0].swiperSlideOffset && this.updateSlidesOffset();
                    var n = -e;
                    s && (n = e),
                    i.removeClass(t.slideVisibleClass),
                    (this.visibleSlidesIndexes = []),
                    (this.visibleSlides = []);
                    for (var r = 0; r < i.length; r += 1) {
                        var a = i[r]
                          , o = (n + (t.centeredSlides ? this.minTranslate() : 0) - a.swiperSlideOffset) / (a.swiperSlideSize + t.spaceBetween);
                        if (t.watchSlidesVisibility || (t.centeredSlides && t.autoHeight)) {
                            var l = -(n - a.swiperSlideOffset)
                              , d = l + this.slidesSizesGrid[r];
                            ((l >= 0 && l < this.size - 1) || (d > 1 && d <= this.size) || (l <= 0 && d >= this.size)) && (this.visibleSlides.push(a),
                            this.visibleSlidesIndexes.push(r),
                            i.eq(r).addClass(t.slideVisibleClass))
                        }
                        a.progress = s ? -o : o
                    }
                    this.visibleSlides = Object(b.a)(this.visibleSlides)
                }
            },
            updateProgress: function(e) {
                if (void 0 === e) {
                    var t = this.rtlTranslate ? -1 : 1;
                    e = (this && this.translate && this.translate * t) || 0
                }
                var i = this.params
                  , s = this.maxTranslate() - this.minTranslate()
                  , n = this.progress
                  , r = this.isBeginning
                  , a = this.isEnd
                  , o = r
                  , l = a;
                0 === s ? ((n = 0),
                (r = !0),
                (a = !0)) : ((r = (n = (e - this.minTranslate()) / s) <= 0),
                (a = n >= 1)),
                Object(w.c)(this, {
                    progress: n,
                    isBeginning: r,
                    isEnd: a
                }),
                (i.watchSlidesProgress || i.watchSlidesVisibility || (i.centeredSlides && i.autoHeight)) && this.updateSlidesProgress(e),
                r && !o && this.emit("reachBeginning toEdge"),
                a && !l && this.emit("reachEnd toEdge"),
                ((o && !r) || (l && !a)) && this.emit("fromEdge"),
                this.emit("progress", n)
            },
            updateSlidesClasses: function() {
                var e, t = this.slides, i = this.params, s = this.$wrapperEl, n = this.activeIndex, r = this.realIndex, a = this.virtual && i.virtual.enabled;
                t.removeClass(i.slideActiveClass + " " + i.slideNextClass + " " + i.slidePrevClass + " " + i.slideDuplicateActiveClass + " " + i.slideDuplicateNextClass + " " + i.slideDuplicatePrevClass),
                (e = a ? this.$wrapperEl.find("." + i.slideClass + '[data-swiper-slide-index="' + n + '"]') : t.eq(n)).addClass(i.slideActiveClass),
                i.loop && (e.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + r + '"]').addClass(i.slideDuplicateActiveClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + r + '"]').addClass(i.slideDuplicateActiveClass));
                var o = e.nextAll("." + i.slideClass).eq(0).addClass(i.slideNextClass);
                i.loop && 0 === o.length && (o = t.eq(0)).addClass(i.slideNextClass);
                var l = e.prevAll("." + i.slideClass).eq(0).addClass(i.slidePrevClass);
                i.loop && 0 === l.length && (l = t.eq(-1)).addClass(i.slidePrevClass),
                i.loop && (o.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + o.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicateNextClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + o.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicateNextClass),
                l.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + l.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicatePrevClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + l.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicatePrevClass)),
                this.emitSlidesClasses()
            },
            updateActiveIndex: function(e) {
                var t, i = this.rtlTranslate ? this.translate : -this.translate, s = this.slidesGrid, n = this.snapGrid, r = this.params, a = this.activeIndex, o = this.realIndex, l = this.snapIndex, d = e;
                if (void 0 === d) {
                    for (var h = 0; h < s.length; h += 1)
                        void 0 !== s[h + 1] ? i >= s[h] && i < s[h + 1] - (s[h + 1] - s[h]) / 2 ? (d = h) : i >= s[h] && i < s[h + 1] && (d = h + 1) : i >= s[h] && (d = h);
                    r.normalizeSlideIndex && (d < 0 || void 0 === d) && (d = 0)
                }
                if (n.indexOf(i) >= 0)
                    t = n.indexOf(i);
                else {
                    var c = Math.min(r.slidesPerGroupSkip, d);
                    t = c + Math.floor((d - c) / r.slidesPerGroup)
                }
                if ((t >= n.length && (t = n.length - 1),
                d !== a)) {
                    var u = parseInt(this.slides.eq(d).attr("data-swiper-slide-index") || d, 10);
                    Object(w.c)(this, {
                        snapIndex: t,
                        realIndex: u,
                        previousIndex: a,
                        activeIndex: d
                    }),
                    this.emit("activeIndexChange"),
                    this.emit("snapIndexChange"),
                    o !== u && this.emit("realIndexChange"),
                    (this.initialized || this.params.runCallbacksOnInit) && this.emit("slideChange")
                } else
                    t !== l && ((this.snapIndex = t),
                    this.emit("snapIndexChange"))
            },
            updateClickedSlide: function(e) {
                var t = this.params
                  , i = Object(b.a)(e.target).closest("." + t.slideClass)[0]
                  , s = !1;
                if (i)
                    for (var n = 0; n < this.slides.length; n += 1)
                        this.slides[n] === i && (s = !0);
                if (!i || !s)
                    return ((this.clickedSlide = void 0),
                    void (this.clickedIndex = void 0));
                (this.clickedSlide = i),
                this.virtual && this.params.virtual.enabled ? (this.clickedIndex = parseInt(Object(b.a)(i).attr("data-swiper-slide-index"), 10)) : (this.clickedIndex = Object(b.a)(i).index()),
                t.slideToClickedSlide && void 0 !== this.clickedIndex && this.clickedIndex !== this.activeIndex && this.slideToClickedSlide()
            }
        },
        translate: {
            getTranslate: function(e) {
                void 0 === e && (e = this.isHorizontal() ? "x" : "y");
                var t = this.params
                  , i = this.rtlTranslate
                  , s = this.translate
                  , n = this.$wrapperEl;
                if (t.virtualTranslate)
                    return i ? -s : s;
                if (t.cssMode)
                    return s;
                var r = Object(w.d)(n[0], e);
                return i && (r = -r),
                r || 0
            },
            setTranslate: function(e, t) {
                var i = this.rtlTranslate
                  , s = this.params
                  , n = this.$wrapperEl
                  , r = this.wrapperEl
                  , a = this.progress
                  , o = 0
                  , l = 0;
                this.isHorizontal() ? (o = i ? -e : e) : (l = e),
                s.roundLengths && ((o = Math.floor(o)),
                (l = Math.floor(l))),
                s.cssMode ? (r[this.isHorizontal() ? "scrollLeft" : "scrollTop"] = this.isHorizontal() ? -o : -l) : s.virtualTranslate || n.transform("translate3d(" + o + "px, " + l + "px, 0px)"),
                (this.previousTranslate = this.translate),
                (this.translate = this.isHorizontal() ? o : l);
                var d = this.maxTranslate() - this.minTranslate();
                (0 === d ? 0 : (e - this.minTranslate()) / d) !== a && this.updateProgress(e),
                this.emit("setTranslate", this.translate, t)
            },
            minTranslate: function() {
                return -this.snapGrid[0]
            },
            maxTranslate: function() {
                return -this.snapGrid[this.snapGrid.length - 1]
            },
            translateTo: function(e, t, i, s, n) {
                void 0 === e && (e = 0),
                void 0 === t && (t = this.params.speed),
                void 0 === i && (i = !0),
                void 0 === s && (s = !0);
                var r = this
                  , a = r.params
                  , o = r.wrapperEl;
                if (r.animating && a.preventInteractionOnTransition)
                    return !1;
                var l, d = r.minTranslate(), h = r.maxTranslate();
                if (((l = s && e > d ? d : s && e < h ? h : e),
                r.updateProgress(l),
                a.cssMode)) {
                    var c, u = r.isHorizontal();
                    return (0 === t ? (o[u ? "scrollLeft" : "scrollTop"] = -l) : o.scrollTo ? o.scrollTo((((c = {})[u ? "left" : "top"] = -l),
                    (c.behavior = "smooth"),
                    c)) : (o[u ? "scrollLeft" : "scrollTop"] = -l),
                    !0)
                }
                return (0 === t ? (r.setTransition(0),
                r.setTranslate(l),
                i && (r.emit("beforeTransitionStart", t, n),
                r.emit("transitionEnd"))) : (r.setTransition(t),
                r.setTranslate(l),
                i && (r.emit("beforeTransitionStart", t, n),
                r.emit("transitionStart")),
                r.animating || ((r.animating = !0),
                r.onTranslateToWrapperTransitionEnd || (r.onTranslateToWrapperTransitionEnd = function(e) {
                    r && !r.destroyed && e.target === this && (r.$wrapperEl[0].removeEventListener("transitionend", r.onTranslateToWrapperTransitionEnd),
                    r.$wrapperEl[0].removeEventListener("webkitTransitionEnd", r.onTranslateToWrapperTransitionEnd),
                    (r.onTranslateToWrapperTransitionEnd = null),
                    delete r.onTranslateToWrapperTransitionEnd,
                    i && r.emit("transitionEnd"))
                }
                ),
                r.$wrapperEl[0].addEventListener("transitionend", r.onTranslateToWrapperTransitionEnd),
                r.$wrapperEl[0].addEventListener("webkitTransitionEnd", r.onTranslateToWrapperTransitionEnd))),
                !0)
            }
        },
        transition: {
            setTransition: function(e, t) {
                this.params.cssMode || this.$wrapperEl.transition(e),
                this.emit("setTransition", e, t)
            },
            transitionStart: function(e, t) {
                void 0 === e && (e = !0);
                var i = this.activeIndex
                  , s = this.params
                  , n = this.previousIndex;
                if (!s.cssMode) {
                    s.autoHeight && this.updateAutoHeight();
                    var r = t;
                    if ((r || (r = i > n ? "next" : i < n ? "prev" : "reset"),
                    this.emit("transitionStart"),
                    e && i !== n)) {
                        if ("reset" === r)
                            return void this.emit("slideResetTransitionStart");
                        this.emit("slideChangeTransitionStart"),
                        "next" === r ? this.emit("slideNextTransitionStart") : this.emit("slidePrevTransitionStart")
                    }
                }
            },
            transitionEnd: function(e, t) {
                void 0 === e && (e = !0);
                var i = this.activeIndex
                  , s = this.previousIndex
                  , n = this.params;
                if (((this.animating = !1),
                !n.cssMode)) {
                    this.setTransition(0);
                    var r = t;
                    if ((r || (r = i > s ? "next" : i < s ? "prev" : "reset"),
                    this.emit("transitionEnd"),
                    e && i !== s)) {
                        if ("reset" === r)
                            return void this.emit("slideResetTransitionEnd");
                        this.emit("slideChangeTransitionEnd"),
                        "next" === r ? this.emit("slideNextTransitionEnd") : this.emit("slidePrevTransitionEnd")
                    }
                }
            }
        },
        slide: {
            slideTo: function(e, t, i, s) {
                if ((void 0 === e && (e = 0),
                void 0 === t && (t = this.params.speed),
                void 0 === i && (i = !0),
                "number" != typeof e && "string" != typeof e))
                    throw new Error("The 'index' argument cannot have type other than 'number' or 'string'. [" + typeof e + "] given.");
                if ("string" == typeof e) {
                    var n = parseInt(e, 10);
                    if (!isFinite(n))
                        throw new Error("The passed-in 'index' (string) couldn't be converted to 'number'. [" + e + "] given.");
                    e = n
                }
                var r = this
                  , a = e;
                a < 0 && (a = 0);
                var o = r.params
                  , l = r.snapGrid
                  , d = r.slidesGrid
                  , h = r.previousIndex
                  , c = r.activeIndex
                  , u = r.rtlTranslate
                  , p = r.wrapperEl;
                if (r.animating && o.preventInteractionOnTransition)
                    return !1;
                var f = Math.min(r.params.slidesPerGroupSkip, a)
                  , v = f + Math.floor((a - f) / r.params.slidesPerGroup);
                v >= l.length && (v = l.length - 1),
                (c || o.initialSlide || 0) === (h || 0) && i && r.emit("beforeSlideChangeStart");
                var m, g = -l[v];
                if ((r.updateProgress(g),
                o.normalizeSlideIndex))
                    for (var b = 0; b < d.length; b += 1)
                        -Math.floor(100 * g) >= Math.floor(100 * d[b]) && (a = b);
                if (r.initialized && a !== c) {
                    if (!r.allowSlideNext && g < r.translate && g < r.minTranslate())
                        return !1;
                    if (!r.allowSlidePrev && g > r.translate && g > r.maxTranslate() && (c || 0) !== a)
                        return !1
                }
                if (((m = a > c ? "next" : a < c ? "prev" : "reset"),
                (u && -g === r.translate) || (!u && g === r.translate)))
                    return (r.updateActiveIndex(a),
                    o.autoHeight && r.updateAutoHeight(),
                    r.updateSlidesClasses(),
                    "slide" !== o.effect && r.setTranslate(g),
                    "reset" !== m && (r.transitionStart(i, m),
                    r.transitionEnd(i, m)),
                    !1);
                if (o.cssMode) {
                    var w, y = r.isHorizontal(), x = -g;
                    return (u && (x = p.scrollWidth - p.offsetWidth - x),
                    0 === t ? (p[y ? "scrollLeft" : "scrollTop"] = x) : p.scrollTo ? p.scrollTo((((w = {})[y ? "left" : "top"] = x),
                    (w.behavior = "smooth"),
                    w)) : (p[y ? "scrollLeft" : "scrollTop"] = x),
                    !0)
                }
                return (0 === t ? (r.setTransition(0),
                r.setTranslate(g),
                r.updateActiveIndex(a),
                r.updateSlidesClasses(),
                r.emit("beforeTransitionStart", t, s),
                r.transitionStart(i, m),
                r.transitionEnd(i, m)) : (r.setTransition(t),
                r.setTranslate(g),
                r.updateActiveIndex(a),
                r.updateSlidesClasses(),
                r.emit("beforeTransitionStart", t, s),
                r.transitionStart(i, m),
                r.animating || ((r.animating = !0),
                r.onSlideToWrapperTransitionEnd || (r.onSlideToWrapperTransitionEnd = function(e) {
                    r && !r.destroyed && e.target === this && (r.$wrapperEl[0].removeEventListener("transitionend", r.onSlideToWrapperTransitionEnd),
                    r.$wrapperEl[0].removeEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd),
                    (r.onSlideToWrapperTransitionEnd = null),
                    delete r.onSlideToWrapperTransitionEnd,
                    r.transitionEnd(i, m))
                }
                ),
                r.$wrapperEl[0].addEventListener("transitionend", r.onSlideToWrapperTransitionEnd),
                r.$wrapperEl[0].addEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd))),
                !0)
            },
            slideToLoop: function(e, t, i, s) {
                void 0 === e && (e = 0),
                void 0 === t && (t = this.params.speed),
                void 0 === i && (i = !0);
                var n = e;
                return (this.params.loop && (n += this.loopedSlides),
                this.slideTo(n, t, i, s))
            },
            slideNext: function(e, t, i) {
                void 0 === e && (e = this.params.speed),
                void 0 === t && (t = !0);
                var s = this.params
                  , n = this.animating
                  , r = this.activeIndex < s.slidesPerGroupSkip ? 1 : s.slidesPerGroup;
                if (s.loop) {
                    if (n && s.loopPreventsSlide)
                        return !1;
                    this.loopFix(),
                    (this._clientLeft = this.$wrapperEl[0].clientLeft)
                }
                return this.slideTo(this.activeIndex + r, e, t, i)
            },
            slidePrev: function(e, t, i) {
                function s(e) {
                    return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e)
                }
                void 0 === e && (e = this.params.speed),
                void 0 === t && (t = !0);
                var n = this.params
                  , r = this.animating
                  , a = this.snapGrid
                  , o = this.slidesGrid
                  , l = this.rtlTranslate;
                if (n.loop) {
                    if (r && n.loopPreventsSlide)
                        return !1;
                    this.loopFix(),
                    (this._clientLeft = this.$wrapperEl[0].clientLeft)
                }
                var d, h = s(l ? this.translate : -this.translate), c = a.map(function(e) {
                    return s(e)
                }), u = (a[c.indexOf(h)],
                a[c.indexOf(h) - 1]);
                return (void 0 === u && n.cssMode && a.forEach(function(e) {
                    !u && h >= e && (u = e)
                }),
                void 0 !== u && (d = o.indexOf(u)) < 0 && (d = this.activeIndex - 1),
                this.slideTo(d, e, t, i))
            },
            slideReset: function(e, t, i) {
                return (void 0 === e && (e = this.params.speed),
                void 0 === t && (t = !0),
                this.slideTo(this.activeIndex, e, t, i))
            },
            slideToClosest: function(e, t, i, s) {
                void 0 === e && (e = this.params.speed),
                void 0 === t && (t = !0),
                void 0 === s && (s = 0.5);
                var n = this.activeIndex
                  , r = Math.min(this.params.slidesPerGroupSkip, n)
                  , a = r + Math.floor((n - r) / this.params.slidesPerGroup)
                  , o = this.rtlTranslate ? this.translate : -this.translate;
                if (o >= this.snapGrid[a]) {
                    var l = this.snapGrid[a];
                    o - l > (this.snapGrid[a + 1] - l) * s && (n += this.params.slidesPerGroup)
                } else {
                    var d = this.snapGrid[a - 1];
                    o - d <= (this.snapGrid[a] - d) * s && (n -= this.params.slidesPerGroup)
                }
                return ((n = Math.max(n, 0)),
                (n = Math.min(n, this.slidesGrid.length - 1)),
                this.slideTo(n, e, t, i))
            },
            slideToClickedSlide: function() {
                var e, t = this, i = t.params, s = t.$wrapperEl, n = "auto" === i.slidesPerView ? t.slidesPerViewDynamic() : i.slidesPerView, r = t.clickedIndex;
                if (i.loop) {
                    if (t.animating)
                        return;
                    (e = parseInt(Object(b.a)(t.clickedSlide).attr("data-swiper-slide-index"), 10)),
                    i.centeredSlides ? r < t.loopedSlides - n / 2 || r > t.slides.length - t.loopedSlides + n / 2 ? (t.loopFix(),
                    (r = s.children("." + i.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + i.slideDuplicateClass + ")").eq(0).index()),
                    Object(w.e)(function() {
                        t.slideTo(r)
                    })) : t.slideTo(r) : r > t.slides.length - n ? (t.loopFix(),
                    (r = s.children("." + i.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + i.slideDuplicateClass + ")").eq(0).index()),
                    Object(w.e)(function() {
                        t.slideTo(r)
                    })) : t.slideTo(r)
                } else
                    t.slideTo(r)
            }
        },
        loop: {
            loopCreate: function() {
                var e = this
                  , t = Object(y.a)()
                  , i = e.params
                  , s = e.$wrapperEl;
                s.children("." + i.slideClass + "." + i.slideDuplicateClass).remove();
                var n = s.children("." + i.slideClass);
                if (i.loopFillGroupWithBlank) {
                    var r = i.slidesPerGroup - (n.length % i.slidesPerGroup);
                    if (r !== i.slidesPerGroup) {
                        for (var a = 0; a < r; a += 1) {
                            var o = Object(b.a)(t.createElement("div")).addClass(i.slideClass + " " + i.slideBlankClass);
                            s.append(o)
                        }
                        n = s.children("." + i.slideClass)
                    }
                }
                "auto" !== i.slidesPerView || i.loopedSlides || (i.loopedSlides = n.length),
                (e.loopedSlides = Math.ceil(parseFloat(i.loopedSlides || i.slidesPerView, 10))),
                (e.loopedSlides += i.loopAdditionalSlides),
                e.loopedSlides > n.length && (e.loopedSlides = n.length);
                var l = []
                  , d = [];
                n.each(function(t, i) {
                    var s = Object(b.a)(t);
                    i < e.loopedSlides && d.push(t),
                    i < n.length && i >= n.length - e.loopedSlides && l.push(t),
                    s.attr("data-swiper-slide-index", i)
                });
                for (var h = 0; h < d.length; h += 1)
                    s.append(Object(b.a)(d[h].cloneNode(!0)).addClass(i.slideDuplicateClass));
                for (var c = l.length - 1; c >= 0; c -= 1)
                    s.prepend(Object(b.a)(l[c].cloneNode(!0)).addClass(i.slideDuplicateClass))
            },
            loopFix: function() {
                this.emit("beforeLoopFix");
                var e, t = this.activeIndex, i = this.slides, s = this.loopedSlides, n = this.allowSlidePrev, r = this.allowSlideNext, a = this.snapGrid, o = this.rtlTranslate;
                (this.allowSlidePrev = !0),
                (this.allowSlideNext = !0);
                var l = -a[t] - this.getTranslate();
                t < s ? ((e = i.length - 3 * s + t),
                (e += s),
                this.slideTo(e, 0, !1, !0) && 0 !== l && this.setTranslate((o ? -this.translate : this.translate) - l)) : t >= i.length - s && ((e = -i.length + t + s),
                (e += s),
                this.slideTo(e, 0, !1, !0) && 0 !== l && this.setTranslate((o ? -this.translate : this.translate) - l)),
                (this.allowSlidePrev = n),
                (this.allowSlideNext = r),
                this.emit("loopFix")
            },
            loopDestroy: function() {
                var e = this.$wrapperEl
                  , t = this.params
                  , i = this.slides;
                e.children("." + t.slideClass + "." + t.slideDuplicateClass + ",." + t.slideClass + "." + t.slideBlankClass).remove(),
                i.removeAttr("data-swiper-slide-index")
            }
        },
        grabCursor: {
            setGrabCursor: function(e) {
                if (!(this.support.touch || !this.params.simulateTouch || (this.params.watchOverflow && this.isLocked) || this.params.cssMode)) {
                    var t = this.el;
                    (t.style.cursor = "move"),
                    (t.style.cursor = e ? "-webkit-grabbing" : "-webkit-grab"),
                    (t.style.cursor = e ? "-moz-grabbin" : "-moz-grab"),
                    (t.style.cursor = e ? "grabbing" : "grab")
                }
            },
            unsetGrabCursor: function() {
                this.support.touch || (this.params.watchOverflow && this.isLocked) || this.params.cssMode || (this.el.style.cursor = "")
            }
        },
        manipulation: {
            appendSlide: function(e) {
                var t = this.$wrapperEl
                  , i = this.params;
                if ((i.loop && this.loopDestroy(),
                "object" == typeof e && "length"in e))
                    for (var s = 0; s < e.length; s += 1)
                        e[s] && t.append(e[s]);
                else
                    t.append(e);
                i.loop && this.loopCreate(),
                (i.observer && this.support.observer) || this.update()
            },
            prependSlide: function(e) {
                var t = this.params
                  , i = this.$wrapperEl
                  , s = this.activeIndex;
                t.loop && this.loopDestroy();
                var n = s + 1;
                if ("object" == typeof e && "length"in e) {
                    for (var r = 0; r < e.length; r += 1)
                        e[r] && i.prepend(e[r]);
                    n = s + e.length
                } else
                    i.prepend(e);
                t.loop && this.loopCreate(),
                (t.observer && this.support.observer) || this.update(),
                this.slideTo(n, 0, !1)
            },
            addSlide: function(e, t) {
                var i = this.$wrapperEl
                  , s = this.params
                  , n = this.activeIndex;
                s.loop && ((n -= this.loopedSlides),
                this.loopDestroy(),
                (this.slides = i.children("." + s.slideClass)));
                var r = this.slides.length;
                if (e <= 0)
                    this.prependSlide(t);
                else if (e >= r)
                    this.appendSlide(t);
                else {
                    for (var a = n > e ? n + 1 : n, o = [], l = r - 1; l >= e; l -= 1) {
                        var d = this.slides.eq(l);
                        d.remove(),
                        o.unshift(d)
                    }
                    if ("object" == typeof t && "length"in t) {
                        for (var h = 0; h < t.length; h += 1)
                            t[h] && i.append(t[h]);
                        a = n > e ? n + t.length : n
                    } else
                        i.append(t);
                    for (var c = 0; c < o.length; c += 1)
                        i.append(o[c]);
                    s.loop && this.loopCreate(),
                    (s.observer && this.support.observer) || this.update(),
                    s.loop ? this.slideTo(a + this.loopedSlides, 0, !1) : this.slideTo(a, 0, !1)
                }
            },
            removeSlide: function(e) {
                var t = this.params
                  , i = this.$wrapperEl
                  , s = this.activeIndex;
                t.loop && ((s -= this.loopedSlides),
                this.loopDestroy(),
                (this.slides = i.children("." + t.slideClass)));
                var n, r = s;
                if ("object" == typeof e && "length"in e) {
                    for (var a = 0; a < e.length; a += 1)
                        (n = e[a]),
                        this.slides[n] && this.slides.eq(n).remove(),
                        n < r && (r -= 1);
                    r = Math.max(r, 0)
                } else
                    (n = e),
                    this.slides[n] && this.slides.eq(n).remove(),
                    n < r && (r -= 1),
                    (r = Math.max(r, 0));
                t.loop && this.loopCreate(),
                (t.observer && this.support.observer) || this.update(),
                t.loop ? this.slideTo(r + this.loopedSlides, 0, !1) : this.slideTo(r, 0, !1)
            },
            removeAllSlides: function() {
                for (var e = [], t = 0; t < this.slides.length; t += 1)
                    e.push(t);
                this.removeSlide(e)
            }
        },
        events: {
            attachEvents: function() {
                var e = Object(y.a)()
                  , t = this.params
                  , i = this.touchEvents
                  , s = this.el
                  , n = this.wrapperEl
                  , r = this.device
                  , a = this.support;
                (this.onTouchStart = o.bind(this)),
                (this.onTouchMove = l.bind(this)),
                (this.onTouchEnd = d.bind(this)),
                t.cssMode && (this.onScroll = u.bind(this)),
                (this.onClick = c.bind(this));
                var f = !!t.nested;
                if (!a.touch && a.pointerEvents)
                    s.addEventListener(i.start, this.onTouchStart, !1),
                    e.addEventListener(i.move, this.onTouchMove, f),
                    e.addEventListener(i.end, this.onTouchEnd, !1);
                else {
                    if (a.touch) {
                        var v = !("touchstart" !== i.start || !a.passiveListener || !t.passiveListeners) && {
                            passive: !0,
                            capture: !1
                        };
                        s.addEventListener(i.start, this.onTouchStart, v),
                        s.addEventListener(i.move, this.onTouchMove, a.passiveListener ? {
                            passive: !1,
                            capture: f
                        } : f),
                        s.addEventListener(i.end, this.onTouchEnd, v),
                        i.cancel && s.addEventListener(i.cancel, this.onTouchEnd, v),
                        S || (e.addEventListener("touchstart", p),
                        (S = !0))
                    }
                    ((t.simulateTouch && !r.ios && !r.android) || (t.simulateTouch && !a.touch && r.ios)) && (s.addEventListener("mousedown", this.onTouchStart, !1),
                    e.addEventListener("mousemove", this.onTouchMove, f),
                    e.addEventListener("mouseup", this.onTouchEnd, !1))
                }
                (t.preventClicks || t.preventClicksPropagation) && s.addEventListener("click", this.onClick, !0),
                t.cssMode && n.addEventListener("scroll", this.onScroll),
                t.updateOnWindowResize ? this.on(r.ios || r.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", h, !0) : this.on("observerUpdate", h, !0)
            },
            detachEvents: function() {
                var e = Object(y.a)()
                  , t = this.params
                  , i = this.touchEvents
                  , s = this.el
                  , n = this.wrapperEl
                  , r = this.device
                  , a = this.support
                  , o = !!t.nested;
                if (!a.touch && a.pointerEvents)
                    s.removeEventListener(i.start, this.onTouchStart, !1),
                    e.removeEventListener(i.move, this.onTouchMove, o),
                    e.removeEventListener(i.end, this.onTouchEnd, !1);
                else {
                    if (a.touch) {
                        var l = !("onTouchStart" !== i.start || !a.passiveListener || !t.passiveListeners) && {
                            passive: !0,
                            capture: !1
                        };
                        s.removeEventListener(i.start, this.onTouchStart, l),
                        s.removeEventListener(i.move, this.onTouchMove, o),
                        s.removeEventListener(i.end, this.onTouchEnd, l),
                        i.cancel && s.removeEventListener(i.cancel, this.onTouchEnd, l)
                    }
                    ((t.simulateTouch && !r.ios && !r.android) || (t.simulateTouch && !a.touch && r.ios)) && (s.removeEventListener("mousedown", this.onTouchStart, !1),
                    e.removeEventListener("mousemove", this.onTouchMove, o),
                    e.removeEventListener("mouseup", this.onTouchEnd, !1))
                }
                (t.preventClicks || t.preventClicksPropagation) && s.removeEventListener("click", this.onClick, !0),
                t.cssMode && n.removeEventListener("scroll", this.onScroll),
                this.off(r.ios || r.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", h)
            }
        },
        breakpoints: {
            setBreakpoint: function() {
                var e = this.activeIndex
                  , t = this.initialized
                  , i = this.loopedSlides
                  , s = void 0 === i ? 0 : i
                  , n = this.params
                  , r = this.$el
                  , a = n.breakpoints;
                if (a && (!a || 0 !== Object.keys(a).length)) {
                    var o = this.getBreakpoint(a);
                    if (o && this.currentBreakpoint !== o) {
                        var l = o in a ? a[o] : void 0;
                        l && ["slidesPerView", "spaceBetween", "slidesPerGroup", "slidesPerGroupSkip", "slidesPerColumn"].forEach(function(e) {
                            var t = l[e];
                            void 0 !== t && (l[e] = "slidesPerView" !== e || ("AUTO" !== t && "auto" !== t) ? "slidesPerView" === e ? parseFloat(t) : parseInt(t, 10) : "auto")
                        });
                        var d = l || this.originalParams
                          , h = n.slidesPerColumn > 1
                          , c = d.slidesPerColumn > 1;
                        h && !c ? (r.removeClass(n.containerModifierClass + "multirow " + n.containerModifierClass + "multirow-column"),
                        this.emitContainerClasses()) : !h && c && (r.addClass(n.containerModifierClass + "multirow"),
                        "column" === d.slidesPerColumnFill && r.addClass(n.containerModifierClass + "multirow-column"),
                        this.emitContainerClasses());
                        var u = d.direction && d.direction !== n.direction
                          , p = n.loop && (d.slidesPerView !== n.slidesPerView || u);
                        u && t && this.changeDirection(),
                        Object(w.c)(this.params, d),
                        Object(w.c)(this, {
                            allowTouchMove: this.params.allowTouchMove,
                            allowSlideNext: this.params.allowSlideNext,
                            allowSlidePrev: this.params.allowSlidePrev
                        }),
                        (this.currentBreakpoint = o),
                        this.emit("_beforeBreakpoint", d),
                        p && t && (this.loopDestroy(),
                        this.loopCreate(),
                        this.updateSlides(),
                        this.slideTo(e - s + this.loopedSlides, 0, !1)),
                        this.emit("breakpoint", d)
                    }
                }
            },
            getBreakpoint: function(e) {
                var t = Object(y.b)();
                if (e) {
                    var i = !1
                      , s = Object.keys(e).map(function(e) {
                        if ("string" == typeof e && 0 === e.indexOf("@")) {
                            var i = parseFloat(e.substr(1));
                            return {
                                value: t.innerHeight * i,
                                point: e
                            }
                        }
                        return {
                            value: e,
                            point: e
                        }
                    });
                    s.sort(function(e, t) {
                        return parseInt(e.value, 10) - parseInt(t.value, 10)
                    });
                    for (var n = 0; n < s.length; n += 1) {
                        var r = s[n]
                          , a = r.point;
                        r.value <= t.innerWidth && (i = a)
                    }
                    return i || "max"
                }
            }
        },
        checkOverflow: {
            checkOverflow: function() {
                var e = this.params
                  , t = this.isLocked
                  , i = this.slides.length > 0 && e.slidesOffsetBefore + e.spaceBetween * (this.slides.length - 1) + this.slides[0].offsetWidth * this.slides.length;
                e.slidesOffsetBefore && e.slidesOffsetAfter && i ? (this.isLocked = i <= this.size) : (this.isLocked = 1 === this.snapGrid.length),
                (this.allowSlideNext = !this.isLocked),
                (this.allowSlidePrev = !this.isLocked),
                t !== this.isLocked && this.emit(this.isLocked ? "lock" : "unlock"),
                t && t !== this.isLocked && ((this.isEnd = !1),
                this.navigation && this.navigation.update())
            }
        },
        classes: {
            addClasses: function() {
                var e = this.classNames
                  , t = this.params
                  , i = this.rtl
                  , s = this.$el
                  , n = this.device
                  , r = [];
                r.push("initialized"),
                r.push(t.direction),
                t.freeMode && r.push("free-mode"),
                t.autoHeight && r.push("autoheight"),
                i && r.push("rtl"),
                t.slidesPerColumn > 1 && (r.push("multirow"),
                "column" === t.slidesPerColumnFill && r.push("multirow-column")),
                n.android && r.push("android"),
                n.ios && r.push("ios"),
                t.cssMode && r.push("css-mode"),
                r.forEach(function(i) {
                    e.push(t.containerModifierClass + i)
                }),
                s.addClass(e.join(" ")),
                this.emitContainerClasses()
            },
            removeClasses: function() {
                var e = this.$el
                  , t = this.classNames;
                e.removeClass(t.join(" ")),
                this.emitContainerClasses()
            }
        },
        images: {
            loadImage: function(e, t, i, s, n, r) {
                function a() {
                    r && r()
                }
                var o, l = Object(y.b)();
                Object(b.a)(e).parent("picture")[0] || (e.complete && n) ? a() : t ? (((o = new l.Image()).onload = a),
                (o.onerror = a),
                s && (o.sizes = s),
                i && (o.srcset = i),
                t && (o.src = t)) : a()
            },
            preloadImages: function() {
                function e() {
                    null != t && t && !t.destroyed && (void 0 !== t.imagesLoaded && (t.imagesLoaded += 1),
                    t.imagesLoaded === t.imagesToLoad.length && (t.params.updateOnImagesReady && t.update(),
                    t.emit("imagesReady")))
                }
                var t = this;
                t.imagesToLoad = t.$el.find("img");
                for (var i = 0; i < t.imagesToLoad.length; i += 1) {
                    var s = t.imagesToLoad[i];
                    t.loadImage(s, s.currentSrc || s.getAttribute("src"), s.srcset || s.getAttribute("srcset"), s.sizes || s.getAttribute("sizes"), !0, e)
                }
            }
        }
    }, M = {}, P = (function() {
        function e() {
            for (var t, i, a = arguments.length, o = new Array(a), l = 0; l < a; l++)
                o[l] = arguments[l];
            1 === o.length && o[0].constructor && o[0].constructor === Object ? (i = o[0]) : ((t = o[0]),
            (i = o[1])),
            i || (i = {}),
            (i = Object(w.c)({}, i)),
            t && !i.el && (i.el = t);
            var d = this;
            (d.support = s()),
            (d.device = n({
                userAgent: i.userAgent
            })),
            (d.browser = r()),
            (d.eventsListeners = {}),
            (d.eventsAnyListeners = []),
            void 0 === d.modules && (d.modules = {}),
            Object.keys(d.modules).forEach(function(e) {
                var t = d.modules[e];
                if (t.params) {
                    var s = Object.keys(t.params)[0]
                      , n = t.params[s];
                    if ("object" != typeof n || null === n)
                        return;
                    if (!(s in i && "enabled"in n))
                        return;
                    !0 === i[s] && (i[s] = {
                        enabled: !0
                    }),
                    "object" != typeof i[s] || "enabled"in i[s] || (i[s].enabled = !0),
                    i[s] || (i[s] = {
                        enabled: !1
                    })
                }
            });
            var h = Object(w.c)({}, E);
            d.useParams(h),
            (d.params = Object(w.c)({}, h, M, i)),
            (d.originalParams = Object(w.c)({}, d.params)),
            (d.passedParams = Object(w.c)({}, i)),
            d.params && d.params.on && Object.keys(d.params.on).forEach(function(e) {
                d.on(e, d.params.on[e])
            }),
            d.params && d.params.onAny && d.onAny(d.params.onAny),
            (d.$ = b.a);
            var c = Object(b.a)(d.params.el);
            if ((t = c[0])) {
                if (c.length > 1) {
                    var u = [];
                    return (c.each(function(t) {
                        var s = Object(w.c)({}, i, {
                            el: t
                        });
                        u.push(new e(s))
                    }),
                    u)
                }
                var p, f, v;
                return ((t.swiper = d),
                t && t.shadowRoot && t.shadowRoot.querySelector ? ((p = Object(b.a)(t.shadowRoot.querySelector("." + d.params.wrapperClass))).children = function(e) {
                    return c.children(e)
                }
                ) : (p = c.children("." + d.params.wrapperClass)),
                Object(w.c)(d, {
                    $el: c,
                    el: t,
                    $wrapperEl: p,
                    wrapperEl: p[0],
                    classNames: [],
                    slides: Object(b.a)(),
                    slidesGrid: [],
                    snapGrid: [],
                    slidesSizesGrid: [],
                    isHorizontal: function() {
                        return "horizontal" === d.params.direction
                    },
                    isVertical: function() {
                        return "vertical" === d.params.direction
                    },
                    rtl: "rtl" === t.dir.toLowerCase() || "rtl" === c.css("direction"),
                    rtlTranslate: "horizontal" === d.params.direction && ("rtl" === t.dir.toLowerCase() || "rtl" === c.css("direction")),
                    wrongRTL: "-webkit-box" === p.css("display"),
                    activeIndex: 0,
                    realIndex: 0,
                    isBeginning: !0,
                    isEnd: !1,
                    translate: 0,
                    previousTranslate: 0,
                    progress: 0,
                    velocity: 0,
                    animating: !1,
                    allowSlideNext: d.params.allowSlideNext,
                    allowSlidePrev: d.params.allowSlidePrev,
                    touchEvents: ((f = ["touchstart", "touchmove", "touchend", "touchcancel"]),
                    (v = ["mousedown", "mousemove", "mouseup"]),
                    d.support.pointerEvents && (v = ["pointerdown", "pointermove", "pointerup"]),
                    (d.touchEventsTouch = {
                        start: f[0],
                        move: f[1],
                        end: f[2],
                        cancel: f[3]
                    }),
                    (d.touchEventsDesktop = {
                        start: v[0],
                        move: v[1],
                        end: v[2]
                    }),
                    d.support.touch || !d.params.simulateTouch ? d.touchEventsTouch : d.touchEventsDesktop),
                    touchEventsData: {
                        isTouched: void 0,
                        isMoved: void 0,
                        allowTouchCallbacks: void 0,
                        touchStartTime: void 0,
                        isScrolling: void 0,
                        currentTranslate: void 0,
                        startTranslate: void 0,
                        allowThresholdMove: void 0,
                        formElements: "input, select, option, textarea, button, video, label",
                        lastClickTime: Object(w.f)(),
                        clickTimeout: void 0,
                        velocities: [],
                        allowMomentumBounce: void 0,
                        isTouchEvent: void 0,
                        startMoving: void 0
                    },
                    allowClick: !0,
                    allowTouchMove: d.params.allowTouchMove,
                    touches: {
                        startX: 0,
                        startY: 0,
                        currentX: 0,
                        currentY: 0,
                        diff: 0
                    },
                    imagesToLoad: [],
                    imagesLoaded: 0
                }),
                d.useModules(),
                d.emit("_swiper"),
                d.params.init && d.init(),
                d)
            }
        }
        var t, i, a, o = e.prototype;
        return ((o.emitContainerClasses = function() {
            var e = this;
            if (e.params._emitClasses && e.el) {
                var t = e.el.className.split(" ").filter(function(t) {
                    return (0 === t.indexOf("swiper-container") || 0 === t.indexOf(e.params.containerModifierClass))
                });
                e.emit("_containerClasses", t.join(" "))
            }
        }
        ),
        (o.getSlideClasses = function(e) {
            var t = this;
            return e.className.split(" ").filter(function(e) {
                return (0 === e.indexOf("swiper-slide") || 0 === e.indexOf(t.params.slideClass))
            }).join(" ")
        }
        ),
        (o.emitSlidesClasses = function() {
            var e = this;
            e.params._emitClasses && e.el && e.slides.each(function(t) {
                var i = e.getSlideClasses(t);
                e.emit("_slideClass", t, i)
            })
        }
        ),
        (o.slidesPerViewDynamic = function() {
            var e = this.params
              , t = this.slides
              , i = this.slidesGrid
              , s = this.size
              , n = this.activeIndex
              , r = 1;
            if (e.centeredSlides) {
                for (var a, o = t[n].swiperSlideSize, l = n + 1; l < t.length; l += 1)
                    t[l] && !a && ((r += 1),
                    (o += t[l].swiperSlideSize) > s && (a = !0));
                for (var d = n - 1; d >= 0; d -= 1)
                    t[d] && !a && ((r += 1),
                    (o += t[d].swiperSlideSize) > s && (a = !0))
            } else
                for (var h = n + 1; h < t.length; h += 1)
                    i[h] - i[n] < s && (r += 1);
            return r
        }
        ),
        (o.update = function() {
            function e() {
                var e = t.rtlTranslate ? -1 * t.translate : t.translate
                  , i = Math.min(Math.max(e, t.maxTranslate()), t.minTranslate());
                t.setTranslate(i),
                t.updateActiveIndex(),
                t.updateSlidesClasses()
            }
            var t = this;
            if (t && !t.destroyed) {
                var i = t.snapGrid
                  , s = t.params;
                s.breakpoints && t.setBreakpoint(),
                t.updateSize(),
                t.updateSlides(),
                t.updateProgress(),
                t.updateSlidesClasses(),
                t.params.freeMode ? (e(),
                t.params.autoHeight && t.updateAutoHeight()) : (("auto" === t.params.slidesPerView || t.params.slidesPerView > 1) && t.isEnd && !t.params.centeredSlides ? t.slideTo(t.slides.length - 1, 0, !1, !0) : t.slideTo(t.activeIndex, 0, !1, !0)) || e(),
                s.watchOverflow && i !== t.snapGrid && t.checkOverflow(),
                t.emit("update")
            }
        }
        ),
        (o.changeDirection = function(e, t) {
            void 0 === t && (t = !0);
            var i = this.params.direction;
            return (e || (e = "horizontal" === i ? "vertical" : "horizontal"),
            e === i || ("horizontal" !== e && "vertical" !== e) || (this.$el.removeClass("" + this.params.containerModifierClass + i).addClass("" + this.params.containerModifierClass + e),
            this.emitContainerClasses(),
            (this.params.direction = e),
            this.slides.each(function(t) {
                "vertical" === e ? (t.style.width = "") : (t.style.height = "")
            }),
            this.emit("changeDirection"),
            t && this.update()),
            this)
        }
        ),
        (o.init = function() {
            this.initialized || (this.emit("beforeInit"),
            this.params.breakpoints && this.setBreakpoint(),
            this.addClasses(),
            this.params.loop && this.loopCreate(),
            this.updateSize(),
            this.updateSlides(),
            this.params.watchOverflow && this.checkOverflow(),
            this.params.grabCursor && this.setGrabCursor(),
            this.params.preloadImages && this.preloadImages(),
            this.params.loop ? this.slideTo(this.params.initialSlide + this.loopedSlides, 0, this.params.runCallbacksOnInit) : this.slideTo(this.params.initialSlide, 0, this.params.runCallbacksOnInit),
            this.attachEvents(),
            (this.initialized = !0),
            this.emit("init"),
            this.emit("afterInit"))
        }
        ),
        (o.destroy = function(e, t) {
            void 0 === e && (e = !0),
            void 0 === t && (t = !0);
            var i = this
              , s = i.params
              , n = i.$el
              , r = i.$wrapperEl
              , a = i.slides;
            return (void 0 === i.params || i.destroyed || (i.emit("beforeDestroy"),
            (i.initialized = !1),
            i.detachEvents(),
            s.loop && i.loopDestroy(),
            t && (i.removeClasses(),
            n.removeAttr("style"),
            r.removeAttr("style"),
            a && a.length && a.removeClass([s.slideVisibleClass, s.slideActiveClass, s.slideNextClass, s.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),
            i.emit("destroy"),
            Object.keys(i.eventsListeners).forEach(function(e) {
                i.off(e)
            }),
            !1 !== e && ((i.$el[0].swiper = null),
            Object(w.b)(i)),
            (i.destroyed = !0)),
            null)
        }
        ),
        (e.extendDefaults = function(e) {
            Object(w.c)(M, e)
        }
        ),
        (e.installModule = function(t) {
            e.prototype.modules || (e.prototype.modules = {});
            var i = t.name || Object.keys(e.prototype.modules).length + "_" + Object(w.f)();
            e.prototype.modules[i] = t
        }
        ),
        (e.use = function(t) {
            return Array.isArray(t) ? (t.forEach(function(t) {
                return e.installModule(t)
            }),
            e) : (e.installModule(t),
            e)
        }
        ),
        (t = e),
        (a = [{
            key: "extendedDefaults",
            get: function() {
                return M
            }
        }, {
            key: "defaults",
            get: function() {
                return E
            }
        }]),
        (i = null) && f(t.prototype, i),
        a && f(t, a),
        e)
    }
    )();
    Object.keys(O).forEach(function(e) {
        Object.keys(O[e]).forEach(function(t) {
            P.prototype[t] = O[e][t]
        })
    }),
    P.use([x, T]),
    (t.a = P)
}
, , , , , , , , , , , function(e, t, i) {
    function s() {
        return (s = Object.assign || function(e) {
            for (var t = 1; t < arguments.length; t++) {
                var i = arguments[t];
                for (var s in i)
                    Object.prototype.hasOwnProperty.call(i, s) && (e[s] = i[s])
            }
            return e
        }
        ).apply(this, arguments)
    }
    var n = i(2)
      , r = i(0)
      , a = {
        update: function() {
            var e = this.params.navigation;
            if (!this.params.loop) {
                var t = this.navigation
                  , i = t.$nextEl
                  , s = t.$prevEl;
                s && s.length > 0 && (this.isBeginning ? s.addClass(e.disabledClass) : s.removeClass(e.disabledClass),
                s[this.params.watchOverflow && this.isLocked ? "addClass" : "removeClass"](e.lockClass)),
                i && i.length > 0 && (this.isEnd ? i.addClass(e.disabledClass) : i.removeClass(e.disabledClass),
                i[this.params.watchOverflow && this.isLocked ? "addClass" : "removeClass"](e.lockClass))
            }
        },
        onPrevClick: function(e) {
            e.preventDefault(),
            (this.isBeginning && !this.params.loop) || this.slidePrev()
        },
        onNextClick: function(e) {
            e.preventDefault(),
            (this.isEnd && !this.params.loop) || this.slideNext()
        },
        init: function() {
            var e, t, i = this.params.navigation;
            (i.nextEl || i.prevEl) && (i.nextEl && ((e = Object(n.a)(i.nextEl)),
            this.params.uniqueNavElements && "string" == typeof i.nextEl && e.length > 1 && 1 === this.$el.find(i.nextEl).length && (e = this.$el.find(i.nextEl))),
            i.prevEl && ((t = Object(n.a)(i.prevEl)),
            this.params.uniqueNavElements && "string" == typeof i.prevEl && t.length > 1 && 1 === this.$el.find(i.prevEl).length && (t = this.$el.find(i.prevEl))),
            e && e.length > 0 && e.on("click", this.navigation.onNextClick),
            t && t.length > 0 && t.on("click", this.navigation.onPrevClick),
            Object(r.c)(this.navigation, {
                $nextEl: e,
                nextEl: e && e[0],
                $prevEl: t,
                prevEl: t && t[0]
            }))
        },
        destroy: function() {
            var e = this.navigation
              , t = e.$nextEl
              , i = e.$prevEl;
            t && t.length && (t.off("click", this.navigation.onNextClick),
            t.removeClass(this.params.navigation.disabledClass)),
            i && i.length && (i.off("click", this.navigation.onPrevClick),
            i.removeClass(this.params.navigation.disabledClass))
        }
    };
    t.a = {
        name: "navigation",
        params: {
            navigation: {
                nextEl: null,
                prevEl: null,
                hideOnClick: !1,
                disabledClass: "swiper-button-disabled",
                hiddenClass: "swiper-button-hidden",
                lockClass: "swiper-button-lock"
            }
        },
        create: function() {
            Object(r.a)(this, {
                navigation: s({}, a)
            })
        },
        on: {
            init: function(e) {
                e.navigation.init(),
                e.navigation.update()
            },
            toEdge: function(e) {
                e.navigation.update()
            },
            fromEdge: function(e) {
                e.navigation.update()
            },
            destroy: function(e) {
                e.navigation.destroy()
            },
            click: function(e, t) {
                var i, s = e.navigation, r = s.$nextEl, a = s.$prevEl;
                !e.params.navigation.hideOnClick || Object(n.a)(t.target).is(a) || Object(n.a)(t.target).is(r) || (r ? (i = r.hasClass(e.params.navigation.hiddenClass)) : a && (i = a.hasClass(e.params.navigation.hiddenClass)),
                !0 === i ? e.emit("navigationShow") : e.emit("navigationHide"),
                r && r.toggleClass(e.params.navigation.hiddenClass),
                a && a.toggleClass(e.params.navigation.hiddenClass))
            }
        }
    }
}
, function(e, t, i) {
    function s() {
        return (s = Object.assign || function(e) {
            for (var t = 1; t < arguments.length; t++) {
                var i = arguments[t];
                for (var s in i)
                    Object.prototype.hasOwnProperty.call(i, s) && (e[s] = i[s])
            }
            return e
        }
        ).apply(this, arguments)
    }
    var n = i(2)
      , r = i(0)
      , a = {
        update: function() {
            var e = this.rtl
              , t = this.params.pagination;
            if (t.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length) {
                var i, s = this.virtual && this.params.virtual.enabled ? this.virtual.slides.length : this.slides.length, r = this.pagination.$el, a = this.params.loop ? Math.ceil((s - 2 * this.loopedSlides) / this.params.slidesPerGroup) : this.snapGrid.length;
                if ((this.params.loop ? ((i = Math.ceil((this.activeIndex - this.loopedSlides) / this.params.slidesPerGroup)) > s - 1 - 2 * this.loopedSlides && (i -= s - 2 * this.loopedSlides),
                i > a - 1 && (i -= a),
                i < 0 && "bullets" !== this.params.paginationType && (i = a + i)) : (i = void 0 !== this.snapIndex ? this.snapIndex : this.activeIndex || 0),
                "bullets" === t.type && this.pagination.bullets && this.pagination.bullets.length > 0)) {
                    var o, l, d, h = this.pagination.bullets;
                    if ((t.dynamicBullets && ((this.pagination.bulletSize = h.eq(0)[this.isHorizontal() ? "outerWidth" : "outerHeight"](!0)),
                    r.css(this.isHorizontal() ? "width" : "height", this.pagination.bulletSize * (t.dynamicMainBullets + 4) + "px"),
                    t.dynamicMainBullets > 1 && void 0 !== this.previousIndex && ((this.pagination.dynamicBulletIndex += i - this.previousIndex),
                    this.pagination.dynamicBulletIndex > t.dynamicMainBullets - 1 ? (this.pagination.dynamicBulletIndex = t.dynamicMainBullets - 1) : this.pagination.dynamicBulletIndex < 0 && (this.pagination.dynamicBulletIndex = 0)),
                    (o = i - this.pagination.dynamicBulletIndex),
                    (d = ((l = o + (Math.min(h.length, t.dynamicMainBullets) - 1)) + o) / 2)),
                    h.removeClass(t.bulletActiveClass + " " + t.bulletActiveClass + "-next " + t.bulletActiveClass + "-next-next " + t.bulletActiveClass + "-prev " + t.bulletActiveClass + "-prev-prev " + t.bulletActiveClass + "-main"),
                    r.length > 1))
                        h.each(function(e) {
                            var s = Object(n.a)(e)
                              , r = s.index();
                            r === i && s.addClass(t.bulletActiveClass),
                            t.dynamicBullets && (r >= o && r <= l && s.addClass(t.bulletActiveClass + "-main"),
                            r === o && s.prev().addClass(t.bulletActiveClass + "-prev").prev().addClass(t.bulletActiveClass + "-prev-prev"),
                            r === l && s.next().addClass(t.bulletActiveClass + "-next").next().addClass(t.bulletActiveClass + "-next-next"))
                        });
                    else {
                        var c = h.eq(i)
                          , u = c.index();
                        if ((c.addClass(t.bulletActiveClass),
                        t.dynamicBullets)) {
                            for (var p = h.eq(o), f = h.eq(l), v = o; v <= l; v += 1)
                                h.eq(v).addClass(t.bulletActiveClass + "-main");
                            if (this.params.loop)
                                if (u >= h.length - t.dynamicMainBullets) {
                                    for (var m = t.dynamicMainBullets; m >= 0; m -= 1)
                                        h.eq(h.length - m).addClass(t.bulletActiveClass + "-main");
                                    h.eq(h.length - t.dynamicMainBullets - 1).addClass(t.bulletActiveClass + "-prev")
                                } else
                                    p.prev().addClass(t.bulletActiveClass + "-prev").prev().addClass(t.bulletActiveClass + "-prev-prev"),
                                    f.next().addClass(t.bulletActiveClass + "-next").next().addClass(t.bulletActiveClass + "-next-next");
                            else
                                p.prev().addClass(t.bulletActiveClass + "-prev").prev().addClass(t.bulletActiveClass + "-prev-prev"),
                                f.next().addClass(t.bulletActiveClass + "-next").next().addClass(t.bulletActiveClass + "-next-next")
                        }
                    }
                    if (t.dynamicBullets) {
                        var g = Math.min(h.length, t.dynamicMainBullets + 4)
                          , b = (this.pagination.bulletSize * g - this.pagination.bulletSize) / 2 - d * this.pagination.bulletSize
                          , w = e ? "right" : "left";
                        h.css(this.isHorizontal() ? w : "top", b + "px")
                    }
                }
                if (("fraction" === t.type && (r.find("." + t.currentClass).text(t.formatFractionCurrent(i + 1)),
                r.find("." + t.totalClass).text(t.formatFractionTotal(a))),
                "progressbar" === t.type)) {
                    var y;
                    y = t.progressbarOpposite ? this.isHorizontal() ? "vertical" : "horizontal" : this.isHorizontal() ? "horizontal" : "vertical";
                    var x = (i + 1) / a
                      , C = 1
                      , T = 1;
                    "horizontal" === y ? (C = x) : (T = x),
                    r.find("." + t.progressbarFillClass).transform("translate3d(0,0,0) scaleX(" + C + ") scaleY(" + T + ")").transition(this.params.speed)
                }
                "custom" === t.type && t.renderCustom ? (r.html(t.renderCustom(this, i + 1, a)),
                this.emit("paginationRender", r[0])) : this.emit("paginationUpdate", r[0]),
                r[this.params.watchOverflow && this.isLocked ? "addClass" : "removeClass"](t.lockClass)
            }
        },
        render: function() {
            var e = this.params.pagination;
            if (e.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length) {
                var t = this.virtual && this.params.virtual.enabled ? this.virtual.slides.length : this.slides.length
                  , i = this.pagination.$el
                  , s = "";
                if ("bullets" === e.type) {
                    for (var n = this.params.loop ? Math.ceil((t - 2 * this.loopedSlides) / this.params.slidesPerGroup) : this.snapGrid.length, r = 0; r < n; r += 1)
                        e.renderBullet ? (s += e.renderBullet.call(this, r, e.bulletClass)) : (s += "<" + e.bulletElement + ' class="' + e.bulletClass + '"></' + e.bulletElement + ">");
                    i.html(s),
                    (this.pagination.bullets = i.find("." + e.bulletClass.replace(/ /g, ".")))
                }
                "fraction" === e.type && ((s = e.renderFraction ? e.renderFraction.call(this, e.currentClass, e.totalClass) : '<span class="' + e.currentClass + '"></span> / <span class="' + e.totalClass + '"></span>'),
                i.html(s)),
                "progressbar" === e.type && ((s = e.renderProgressbar ? e.renderProgressbar.call(this, e.progressbarFillClass) : '<span class="' + e.progressbarFillClass + '"></span>'),
                i.html(s)),
                "custom" !== e.type && this.emit("paginationRender", this.pagination.$el[0])
            }
        },
        init: function() {
            var e = this
              , t = e.params.pagination;
            if (t.el) {
                var i = Object(n.a)(t.el);
                0 !== i.length && (e.params.uniqueNavElements && "string" == typeof t.el && i.length > 1 && (i = e.$el.find(t.el)),
                "bullets" === t.type && t.clickable && i.addClass(t.clickableClass),
                i.addClass(t.modifierClass + t.type),
                "bullets" === t.type && t.dynamicBullets && (i.addClass("" + t.modifierClass + t.type + "-dynamic"),
                (e.pagination.dynamicBulletIndex = 0),
                t.dynamicMainBullets < 1 && (t.dynamicMainBullets = 1)),
                "progressbar" === t.type && t.progressbarOpposite && i.addClass(t.progressbarOppositeClass),
                t.clickable && i.on("click", "." + t.bulletClass.replace(/ /g, "."), function(t) {
                    t.preventDefault();
                    var i = Object(n.a)(this).index() * e.params.slidesPerGroup;
                    e.params.loop && (i += e.loopedSlides),
                    e.slideTo(i)
                }),
                Object(r.c)(e.pagination, {
                    $el: i,
                    el: i[0]
                }))
            }
        },
        destroy: function() {
            var e = this.params.pagination;
            if (e.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length) {
                var t = this.pagination.$el;
                t.removeClass(e.hiddenClass),
                t.removeClass(e.modifierClass + e.type),
                this.pagination.bullets && this.pagination.bullets.removeClass(e.bulletActiveClass),
                e.clickable && t.off("click", "." + e.bulletClass.replace(/ /g, "."))
            }
        }
    };
    t.a = {
        name: "pagination",
        params: {
            pagination: {
                el: null,
                bulletElement: "span",
                clickable: !1,
                hideOnClick: !1,
                renderBullet: null,
                renderProgressbar: null,
                renderFraction: null,
                renderCustom: null,
                progressbarOpposite: !1,
                type: "bullets",
                dynamicBullets: !1,
                dynamicMainBullets: 1,
                formatFractionCurrent: function(e) {
                    return e
                },
                formatFractionTotal: function(e) {
                    return e
                },
                bulletClass: "swiper-pagination-bullet",
                bulletActiveClass: "swiper-pagination-bullet-active",
                modifierClass: "swiper-pagination-",
                currentClass: "swiper-pagination-current",
                totalClass: "swiper-pagination-total",
                hiddenClass: "swiper-pagination-hidden",
                progressbarFillClass: "swiper-pagination-progressbar-fill",
                progressbarOppositeClass: "swiper-pagination-progressbar-opposite",
                clickableClass: "swiper-pagination-clickable",
                lockClass: "swiper-pagination-lock"
            }
        },
        create: function() {
            Object(r.a)(this, {
                pagination: s({
                    dynamicBulletIndex: 0
                }, a)
            })
        },
        on: {
            init: function(e) {
                e.pagination.init(),
                e.pagination.render(),
                e.pagination.update()
            },
            activeIndexChange: function(e) {
                (e.params.loop || void 0 === e.snapIndex) && e.pagination.update()
            },
            snapIndexChange: function(e) {
                e.params.loop || e.pagination.update()
            },
            slidesLengthChange: function(e) {
                e.params.loop && (e.pagination.render(),
                e.pagination.update())
            },
            snapGridLengthChange: function(e) {
                e.params.loop || (e.pagination.render(),
                e.pagination.update())
            },
            destroy: function(e) {
                e.pagination.destroy()
            },
            click: function(e, t) {
                e.params.pagination.el && e.params.pagination.hideOnClick && e.pagination.$el.length > 0 && !Object(n.a)(t.target).hasClass(e.params.pagination.bulletClass) && (!0 === e.pagination.$el.hasClass(e.params.pagination.hiddenClass) ? e.emit("paginationShow") : e.emit("paginationHide"),
                e.pagination.$el.toggleClass(e.params.pagination.hiddenClass))
            }
        }
    }
}
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , function(e, t, i) {
    i.r(t);
    var s = i(31)
      , n = i(42)
      , r = i(43)
      , a = i(3);
    s.a.use([n.a, r.a]);
    var o = {
        pagination: {
            el: "#gallery .swiper-pagination",
            clickable: !0
        },
        slidesPerView: 1,
        spaceBetween: 20,
        on: {
            slideChangeTransitionStart: function() {
                var e = this.activeIndex + 1;
                $(".banner-page .page-now").html(e)
            },
            init: function() {
                $(".preview-container").css("visibility", "visible")
            }
        }
    };
    $(function() {
        $(window).width() <= 768 ? $("#media").length > 0 && "" != $("#media source").attr("src") && ($("#gallery .swiper-wrapper").prepend($('<li class="swiper-slide item"></li>').append($("#media"))),
        $("#media").show().css({
            width: "100%",
            height: "100%"
        })) : $("#media").length > 0 && "" != $("#media source").attr("src") && ($(".small-box").css("display", "none"),
        $("#media").css({
            display: "block",
            width: "100%",
            height: "100%"
        }),
        $(".preview-container .thumbnail-box .list .item").on("click", function() {
            $("#media").get(0).pause(),
            $("#media").css("display", "none"),
            $(".small-box").css("display", "flex"),
            $(".vPlay").show(),
            $(".vPlay").click(function() {
                $(this).hide(),
                $(".big-box").hide(),
                $("#media").get(0).play(),
                $(".small-box").css("display", "none"),
                $("#media").css({
                    display: "block",
                    width: "100%",
                    height: "100%"
                })
            })
        })),
        $(".banner-page .page-all").html($("#gallery .swiper-slide").length),
        Object(a.a)() && ($(window).width() <= 768 && $("#gallery").length > 0 ? (window.Gallery = new s.a("#gallery",o)) : window.Gallery && Gallery.destroy()),
        $(".sendinquiry").on("click", function() {
            var e = $(".feedback-tit").offset().top - $("header").outerHeight();
            $("html, body").animate({
                scrollTop: e,
                easing: "swing"
            }, 500)
        }),
        $(".prodetails-bref table").wrap('<div class="table-responsive"></div>'),
        $(".maybe-list li").length || $(".maybe").hide()
    })
}
]),
$(".pdshow-r-btn #A_DownLoadProduct").append('<i class="iconfont icon-download"></i>');
$(".bottom-btn").addClass("show-cart");
if (window.innerWidth <= 768) {
    $(".page-container .page-main").append($(".latest-products"))
}
